[PHP5] Variablenübergabe in URL in Sessions

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

  • [PHP5] Variablenübergabe in URL in Sessions

    Hallo,

    wenn ich mit session_start arbeite überschreibt PHP meine Variable $nr mit der Session ID. Sobald ich session_start auskommentiere läuft das Script wieder.

    Kann jemand helfen?

    <?php
    session_start();
    ini_set ('session.use_cookies_only', true); //nur Cookies benutzen
    $session = session_id();
    echo "Session:" . $session . "<br>";
    echo "Action:" . $action . "<br>";
    echo "Nr:" . $nr . "<br>";

    echo "<form action=<" . $_SERVER['PHP_SELF'] . " method='post'>";

    echo "<table width='600' border='0' cellspacing='0'>\n";
    echo "<tr>"; // Zeile erzeugen
    for($x = 0;
    $x < 5;
    $x++) {
    $feldname = "abc" . $x;
    $feldnummer = $x;
    echo "<td><a class='t' href='test.php?nr=" . $feldnummer . "&action=present'>" . $feldname . "</a></td>";
    }

    echo "</tr>\n"; // Zeile schlie&szlig;en
    echo "</table>\n"; // Tabelle schlie&szlig;en
    echo "<form action=\"test.php\" method=\"post\">";
    echo "</form>";?>

  • #2
    1. dein html-code um <form> rum ist ein wenig kaputt
    2. wie stehts mit register_globals und E_ALL?

    Kommentar


    • #3
      hallo,

      ich habe register_globals = on (XAMPP setzt das so) und
      error_reporting = E_ALL & ~E_NOTICE

      gesetzt.

      Kommentar


      • #4
        setze ersteres auf off und zweiteres auf E_ALL

        Kommentar


        • #5
          Hallo

          habe register_globals auf off gesetzt.

          Das Überschreiben ist jetzt weg, aber ich bekomme die Variablen $nr und $present nicht mehr übergeben.

          Kommentar


          • #6
            dann schalte E_ALL ein und arbeite mit $_SESSION

            Kommentar


            • #7
              sorry,

              ich meine die Variable $action und nicht $present.

              Kommentar


              • #8
                Ach?

                könnte es sein das die Werte jetzt in den Superglobals stehen ... ?!

                schau mal in $_SESSION, $_POST, $_GET ... !

                Dein Vorgehen ist seit PHP 4.1.0 obsolet ... !
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar


                • #9
                  Hallo,

                  echo "Nr:" . $_SESSION['nr'] . "<br>";
                  echo "Nr:" . $_POST['nr'] . "<br>";

                  bringt auch keine Werte.

                  Kommentar


                  • #10
                    natürlich, du hast sie ja nicht gesetzt.
                    http://de3.php.net/manual/de/ref.session.php

                    Kommentar


                    • #11
                      Hallo, folgender Code bringt immer das selbe Ergebnis, egal welcher link geklickt wird ( siehe unten) und egal was in der gesendeten URL steht. nr immer 1 und action IST immer 1.

                      <?php
                      session_start();
                      ini_set ('session.use_cookies_only', true); //nur Cookies benutzen
                      $session = session_id();
                      if(!isset($_SESSION["nr"])) {
                      $_SESSION["nr"] = 1;
                      }
                      if(!isset($_SESSION["action"])) {
                      $_SESSION["action"] = "present";
                      }
                      echo "Session:" . $session . "<br>";
                      echo "Action:" . $_SESSION["action"] . "<br>";
                      echo "Nr:" . $_SESSION['nr'] . "<br>";

                      echo "<form action=<" . $_SERVER['PHP_SELF'] . " method='post'>";

                      echo "<table width='600' border='0' cellspacing='0'>\n";
                      echo "<tr>"; // Zeile erzeugen
                      for($x = 0;
                      $x < 5;
                      $x++) {
                      $feldname = "abc" . $x;
                      $feldnummer = $x;
                      echo "<td><a class='t' href='test.php?nr=" . $feldnummer . "&action=present'>" . $feldname . "</a></td>";
                      }

                      echo "</tr>\n"; // Zeile schlie&szlig;en
                      echo "</table>\n"; // Tabelle schlie&szlig;en
                      echo "<form action=\"test.php\" method=\"post\">";
                      echo "</form>";?>


                      Ergebnis :

                      Session:34fa5f31b6bbdacb92210682e711a5ad
                      Action:1
                      Nr:1
                      abc0 abc1 abc2 abc3 abc4

                      Kommentar


                      • #12
                        http://www.php-resource.de/forum/sho...threadid=50454 sagt: bitte php-tags nutzen!

                        wo änderst du denn in $_SESSION["nr"] den wert?

                        dein formular ist nach wie vor kaputt. wozu brauchst du es eigentlich?

                        am besten geht das debuggen mit
                        PHP-Code:
                        echo '<pre>';
                        print_r($_SESSION);
                        echo 
                        '</pre>'

                        Kommentar


                        • #13
                          Hallo,

                          folgender Code bringt immer das selbe Ergebnis, völlig unabhängig davon, welchen Link ich klicke. Das Ergebnis siehe unten.

                          Das Script soll abhängig vom Klick unterschiedliche Werte für $nr liefern.

                          <?php
                          session_start();
                          ini_set ('session.use_cookies_only', true); //nur Cookies benutzen
                          $session = session_id();
                          if(!isset($_SESSION["nr"])) {
                          $_SESSION["nr"] = 1;
                          }
                          if(!isset($_SESSION["action"])) {
                          $_SESSION["action"] = "present";
                          }
                          echo "Session:" . $session . "<br>";
                          echo "Action:" . $_SESSION["action"] . "<br>";
                          echo "Nr:" . $_SESSION['nr'] . "<br>";

                          echo "<form action=<" . $_SERVER['PHP_SELF'] . " method='post'>";

                          echo "<table width='600' border='0' cellspacing='0'>\n";
                          echo "<tr>"; // Zeile erzeugen
                          for($x = 0;
                          $x < 5;
                          $x++) {
                          $feldname = "abc" . $x;
                          $feldnummer = $x;
                          echo "<td><a class='t' href='test.php?nr=" . $feldnummer . "&action=present'>" . $feldname . "</a></td>";
                          }

                          echo "</tr>\n"; // Zeile schlie&szlig;en
                          echo "</table>\n"; // Tabelle schlie&szlig;en
                          echo "<form action=\"test.php\" method=\"post\">";
                          echo "</form>";
                          ?>


                          Ergebnis:

                          Session:34fa5f31b6bbdacb92210682e711a5ad
                          Action:1
                          Nr:1
                          abc0 abc1 abc2 abc3 abc4

                          Kommentar


                          • #14
                            schade, dass du mein letztes posting nicht gelesen hast.

                            Kommentar


                            • #15
                              Original geschrieben von HSchmoll
                              folgender Code bringt immer das selbe Ergebnis, völlig unabhängig davon, welchen Link ich klicke. Das Ergebnis siehe unten.
                              wie oft willst du das jetzt noch posten ...?
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X