Sessions und Variablen übergabe Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sessions und Variablen übergabe Problem

    Hallo,

    ich habe ein Problem das ich eine Variable nicht übergeben kann.

    Der aufbau ist wie folgt:

    index.php
    PHP-Code:
    <?php session_start();
     
    session_register("name");?> 
    <html>
    <head>
    <title>Firmen</title>
    ...
    ..
    ...
    .
    <div align="center"> 
              <?php switch($main)
              {
              case 
    "view": include 'view.php'; break;
              case 
    "upload": include 'form.php'; break;
              case 
    "del": include 'delete.php'; break;
              case 
    "help": include 'help.php'; break;
              case 
    "detail": include 'firmen.php?uid='.$row["Id"].''; break;
              }
              
    ?>
            </div></td>
        </tr>
      ..
    ...
    ..
    ..
    Hier spielt sich alles ab. Dann kommt noch die view.php

    PHP-Code:
    <?php
    session_start
    ();
    ?>
     
    <?php
        error_reporting
    (E_ALL);

        include 
    'includes/config.php';
       
        @
    mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR
            die(
    "Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
        
    mysql_select_db(MYSQL_DATABASE) OR
            die(
    "Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());


    $sql "SELECT
        Id,
        Fname
    FROM
        egroh
    ORDER BY
        Id ASC;"
    ;

    $result mysql_query($sql) OR die(mysql_error());
    echo 
    'Firmeneinträge<br>
    <link href="../butzke.css" rel="stylesheet" type="text/css">
    <form name="form1" method="post" action="">
    <table width="700" border="1" cellspacing="2" cellpadding="2">
    <tr>
      <td class="fliesstext">ID</td>
      <td class="fliesstext">Firmen Name</td>
      <td class="fliesstext">Ansehen?</td>  
      '
    ;
    while(
    $row mysql_fetch_assoc($result)) {
            echo 
    '
      <tr>
        <td class="fliesstext">'
    .$row["Id"].'</td>
        <td class="fliesstext">'
    .$row["Fname"].'</td>
        <td class="fliesstext"><a href="?main=detail">Details</a></td>
      </tr>'
    ;
        }
        {
    echo 
    '
    </table>
    </form>'
    ;
        }
    ?>
    Dort taucht der Befehl auf: a href="?main=detail">Details.... hier soll also auf der Index der Befehl detail ausgeführt werden. Leider wird die $row["Id"] nicht mit übergeben. und demnach kommt dann:

    PHP-Code:
    Warningmain() [function.main]: open_basedir restriction in effectFile(/usr/share/php/firmen.php?uid=) is not within the allowed path(s): (/opt/web1/) in /opt/web1/html/egroh/index.php on line 63

    Warning
    main(firmen.php?uid=) [function.main]: failed to create streamOperation not permitted in /opt/web1/html/egroh/index.php on line 63

    Warning
    main() [function.main]: Failed opening 'firmen.php?uid=' for inclusion (include_path='.:/usr/share/php'in /opt/web1/html/egroh/index.php on line 63 
    Wo liegt der Fehler? Was mach ich bei der Session falsch? Oder ist der "case" im Switchbefehl nicht korrekt?

    Danke im Vorraus.
    The Human Mirror - Mein Blog!
    www.sonicsense.de - The future of music!

  • #2
    du kannst nicht mit angehängten parametern includen ... so gehts aber:
    PHP-Code:
    ...
    case 
    "detail"
        
    $uid=$row["Id"];
        include 
    'firmen.php';
        break;
    ... 
    Kissolino.com

    Kommentar


    • #3
      Hi,

      danke für die schnelle Antwort.

      Nun kommt zwar die Fehlermeldung nicht mehr, aber scheinbar wird die Variable trotzdem nicht richtig übergeben. Die dann geöffnete Firmen.php ist dann leer.

      Geöffnet werden müsste "firmen.php?uid=1" oder 2 oder 4 je nach $row["Id"];
      The Human Mirror - Mein Blog!
      www.sonicsense.de - The future of music!

      Kommentar


      • #4
        1. hat $uid/$row['id'] überhaupt einen wert?
        2. wie fragst du in der firmen.php ab ... $_GET wäre jetzt falsch
        ...
        Kissolino.com

        Kommentar


        • #5
          also angenommen ich rufe in der "view.php" direkt den Link auf
          <a href="firmen.php?uid='.$row['Id'].'">.... öffnet sich auch wunderbar die firmen.php mit dem entsprechenden eintrag. Allerdings im neuen Browserfenster und nicht included auf der index.php
          Das wollte ich mit dem switch umgehen.

          die firmen.php sieht so aus:



          PHP-Code:
          <?PHP

          include 'includes/config.php';
             
          if(!isset(
          $_GET['uid'])) {

          } elseif(
          is_numeric($_GET['uid'])) {

           @
          mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR
                  die(
          "Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
              
          mysql_select_db(MYSQL_DATABASE) OR
                  die(
          "Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());

          $sql='SELECT
              Id,
              Fname,
              Fori,
              Fstreet,    
              Fplz,
              Fort,
              Ftel,
              Apartner,
              email,
              Fhp
          FROM
              egroh
          WHERE id='
          .$_GET["uid"];
              

          $result mysql_query($sql) OR die(mysql_error());
          $row mysql_fetch_assoc($result);


          ?>

          <table width="500" border="0" cellspacing="0" cellpadding="0">
            <tr class="fliesstext"> 
              <td width="120">Firmenname:</td>
              <td><?php echo $row['Fname'];?></td>
            </tr>
            <tr class="fliesstext"> 
              <td height="15" colspan="2">&nbsp;</td>
            </tr>
            <tr class="fliesstext"> 
              <td width="120">Bereich:</td>
              <td><?php echo $row['Fori'];?></td>
            </tr>
            <tr class="fliesstext"> </tr>
            <tr class="fliesstext"> 
              <td height="15" colspan="2">&nbsp;</td>
            </tr
            >
            <tr class="fliesstext"> 
              <td width="120">Adresse:</td>
              <td><?php echo $row['Fstreet'];?></td>
            </tr>
            <tr class="fliesstext">
            <td></td>
            <td><?php echo $row['Fplz'];?>&nbsp;&nbsp; <?php echo $row['Fplz'];?></td>
            </tr>
            <tr class="fliesstext"> </tr>
            <tr class="fliesstext"> 
              <td height="15" colspan="2">&nbsp;</td>
            </tr
            >
            <tr class="fliesstext"> 
              <td width="120">Ansprechpartner</td>
              <td><?php echo $row['Apartner'];?></td>
            </tr>
            <tr class="fliesstext"> </tr>
            <tr class="fliesstext"> 
              <td height="15" colspan="2">&nbsp;</td>
            </tr
            >
            <tr class="fliesstext"> 
              <td width="120">Telefon</td>
              <td><?php echo $row['Ftel'];?></td>
            </tr>
            <tr class="fliesstext"> </tr>
            <tr class="fliesstext"> 
              <td height="15" colspan="2">&nbsp;</td>
            </tr
            >
            <tr class="fliesstext"> 
              <td width="120">E-Mail</td>
              <td><?php echo $row['email'];?></td>
            </tr>
            <tr class="fliesstext"> </tr>
            <tr class="fliesstext"> 
              <td height="15" colspan="2">&nbsp;</td>
            </tr
            >
            <tr class="fliesstext"> 
              <td width="120">Homepage</td>
              <td><?php echo $row['Fhp'];?></td>
            </tr>
          </table>

          <?php

          } else {

            die(
          "Bitte gebe eine Korrekte User ID an!");

          }  

          ?>
          The Human Mirror - Mein Blog!
          www.sonicsense.de - The future of music!

          Kommentar


          • #6
            Original geschrieben von Wurzel
            ... $_GET wäre jetzt falsch
            ...
            Kissolino.com

            Kommentar


            • #7
              Original geschrieben von Hazzardous
              die firmen.php sieht so aus: [...]
              und eben dort darfst du jetzt nicht mehr mit $_GET auf die vars zugreifen, wie wurzel ja schon sagte.

              wie wär's, wenn du die antworten lesen würdest, anstatt uns stupide deinen code vorzuwerfen?


              EDIT:
              le würzel war schneller ...
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Er hatte auch noch nach dem Inhalt der Datei gefragt. Diesen hab ich gepostet. Musst DU wohl überlesen haben.
                The Human Mirror - Mein Blog!
                www.sonicsense.de - The future of music!

                Kommentar


                • #9
                  Original geschrieben von Wurzel


                  sondern?
                  The Human Mirror - Mein Blog!
                  www.sonicsense.de - The future of music!

                  Kommentar


                  • #10
                    Original geschrieben von Hazzardous
                    Er hatte auch noch nach dem Inhalt der Datei gefragt. Diesen hab ich gepostet. Musst DU wohl überlesen haben.
                    nein, hat er nicht. er wollte von dir wissen, wie du auf die variablen zugreifst - nicht, wie dein komplettes script aussieht.
                    ja, eine gezielte antwort auf die frage hätte natürlich ein wenig mehr denkarbeit deinerseits bei der formulierung der antwort erfordert, als wenn du einfach deinen code hier reinballerst ...

                    sondern?
                    mit einem per include eingebundenen script verhält es sich fast so, als wenn du es per copy&paste in das "haupt"-script eingefügt hättest.

                    wenn also im haupt-script eine variable $foo zur verfügung steht, hast du auch im per include eingebundenen script zugriff auf $foo.
                    Zuletzt geändert von wahsaga; 14.04.2004, 15:37.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Nabend,

                      also das Prinzip vom Include habe ich verstanden. Aber ich verstehe nicht wie ich die Variable bzw die SQL abrage, welche ich für die ID brauche und welche in der view.php erzeugt wird so auf der Mainseite einbaue das ich sie dann in der firmen.php weiter verwenden kann. Zumal die ID ja immer wechselt. Wenn ihr mir hier einen Denkanstoss geben könntet wäre ich dankbar.

                      Angenommen ich packe auf die main seite, also auf die Index.php

                      $uid='.$row["ID"].' dann verbirgt sich hinter ID ja nicht die um einen bestimmten Datensatz zu ändern. Da ich dafür die schon vorhanden ID aus der view.php brauche für den jeweiligen Datensatz.

                      :confuse:
                      The Human Mirror - Mein Blog!
                      www.sonicsense.de - The future of music!

                      Kommentar


                      • #12
                        hast du verstanden, was du geschrieben hast? ich jedenfalls nicht!
                        h.a.n.d.
                        Schmalle

                        http://impressed.by
                        http://blog.schmalenberger.it



                        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                        ... nur ohne :-)

                        Kommentar


                        • #13
                          hmm ja?
                          The Human Mirror - Mein Blog!
                          www.sonicsense.de - The future of music!

                          Kommentar

                          Lädt...
                          X