Sessionverlust bei Formular

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

  • Sessionverlust bei Formular

    Hallo!

    Ich befasse mich grad mit der Erstellung eines kleinen Systemes mit Login und Sessions...

    Einloggen klappt soweit auch, bin dann im System drin und kann per mysql alle daten für den eingeloggten User abrufen. Wenn ich dann allerdings über ein Formular auf eine andere Seite gehe, die dann die Eingaben verarbeitet und wieder auf die Anfangsseite zurückgehen soll, ist der User irgendwie nicht mehr eingeloggt. Die Session scheint verloren gegangen(?) zu sein. Könnt ihr mir sagen, woran das liegen könnte? Braucht ihr Code?

    Wäre sehr dankbar für eure Hilfe!

    Gruß,
    zahL

  • #2
    Ja, Code wäre (jedenfalls für mich) sehr hilfreich^^, beim nächsten mal einfach dazuschreiben anstatt vorher zu fragen

    Kommentar


    • #3
      Man informiere sich über Sessions, gucke ob die Cookies da sind ob trans_id an ist etc. etc. etc. Google hilft, genauso wie die Forensuche

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Re: Sessionverlust bei Formular

        Kontrolle der Übergabe der Session-ID?
        Session-Einstellungen von PHP gecheckt?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hey!

          Hab die trans_sid jetzt auf 1 gesetzt, aber das ändert auch nichts..


          Beim Login wird $_SESSION["authenticated"] auf den Wert 2 gesetzt, der jetzt beim Seitenaufruf per include abgeprüft wird:

          authen.php:
          PHP-Code:
          <?PHP
          session_start
          ();
          if (
          $_SESSION["authenticated"]!=2)
          {
          header("Location:login.php");   
          exit;
          }
          ?>
          Hier das Formular:
          PHP-Code:
          Passwort &auml;ndern:<br>
          <
          form method=post action=change.php?do=pw>
          Altes Passwort: <input type=password name=oldpw><br>
          Neues Passwort: <input type=password name=newpw1><br>
          Neues Passwort (wdh.):<input type=password name=newpw2><br>
          <
          input type=submit value="Passwort &auml;ndern">
          </
          form

          Das führt dann hierher:

          PHP-Code:
          <?php
              
          include("authen.php");
              include(
          "dbconnect.php");
              
          $name $_SESSION['username'];
              
          $do $_GET['do'];
              if(
          $do == "pw")
              {
                  
          $abfrage "select pass from user where name = '$name'";
                  
          $frag mysql_query("$abfrage") or die (mysql_error());
                  
          $joah mysql_fetch_array($frag);
                  
          $pass $joah["pass"];
                  if(
          $newpw1 == $newpw2 and $pass == $oldpass)
                  {
                      
          $newpass md5('$newpw1');
                      
          $aendern "UPDATE user SET pass = '$newpw1' where name = '$name'";
                      
          $update mysql_query($aendern);
                      
          header("Location:game.php?action=profil");
                  }
              }

          Hilft das? :-(

          Kommentar


          • #6
            Original geschrieben von zahl
            Hab die trans_sid jetzt auf 1 gesetzt, aber das ändert auch nichts..
            Wow - mit einer von gut zwei Dutzend [1] Sessions betreffenden Einstellungen hast du dich jetzt beschäftigt. Du arbeitest toll mit!



            [1] Zugegeben, die sind sicher nicht alle für dieses Problem relevant - aber ein paar eben u.U. schon.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Dank euch, besonders wahsaga, dass ihr euch meinen Code angeguckt habt. Habe lediglich ne falsche Session-Variable abgerufen. Anstatt hier immer rumzuheulen, dass man Manual und Google benutzen soll, könntet ihr auch mal versuchen, zu helfen.

              Kommentar


              • #8
                Wie wärs hiermit ?
                PHP-Code:
                echo '<form method=post action="change.php?do=pw&amp;'.strip_tags(SID).'">'
                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Original geschrieben von zahl
                  Dank euch, besonders wahsaga, dass ihr euch meinen Code angeguckt habt. Habe lediglich ne falsche Session-Variable abgerufen. Anstatt hier immer rumzuheulen, dass man Manual und Google benutzen soll, könntet ihr auch mal versuchen, zu helfen.
                  Wenn du nicht debuggen kannst ... ein einfaches error_reporting(E_ALL), wie es jeder Anfänger verwenden sollte, hätte dir den Fehler schon zeigen können

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar

                  Lädt...
                  X