Anfängerfehler bei Session/Cookie ?!

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

  • #16



    Habs geändert, allerdings mit gleichem Ergebnis.

    Kommentar


    • #17
      und die cookietest.php

      Kommentar


      • #18
        Die cookietest.php gibt bloß den Inhalt des Cookie aus, mehr nicht. Das funktioniert aber auch.

        Kommentar


        • #19
          wenn das cookie nicht vorhanden ist, dann kommt man auf das anmeldeformular.
          die daten werden an anmeldung geschickt, ausgewertet ... aber keine session-variablen gesetzt. dann können sie auf varcheck auch nicht zu sehen sein.
          PHP-Code:
          setcookie("BerichteCookie"$cookievaluetime()+30*24*60*60);
          $_SESSION["login"] = $_POST[login];
          $_SESSION["passwort"] = $_POST[passwort]; 
          und dann muss in anmeldung.php auch ein session_start();
          Zuletzt geändert von graf; 20.03.2003, 17:08.

          Kommentar


          • #20
            Also darf ich session variablen nur gleich nach schreiben des cookies oder im selben script festlegen ? Ansonsten klappt das nicht...

            Danke für Deine Geduld

            Kommentar


            • #21
              du musst sie halt erstmal setzen, wo ist grundsätzlich egal ....
              und bei dir wurde nur nach dem cookie gefragt und dann auf die nächste seite ...
              die nächste seite sollte dann ne sessionvariable ausgeben?
              dann muss sie aber auch dann gesetzt werden werden, wenn das cookie da ist, weil:

              $_SESSION[...] != $_COOKIE[..]

              Kommentar


              • #22
                Also ich habe da immer noch Probleme, ich habe die Änderungen die Du vorgeschlagen hast eingebaut und es klappt immer noch nicht. Auf der Anmeldung.php (vorher HTML) kann ich mir die $_SESSION["login"] und die $_SESSION["passwort"] ausgeben lassen. Wenn das Cookie existiert sollen diese Variablen ja gefüllt werden, wenn nicht dann kommt die Anmeldemaske. Auf der Seite sind die Variablen gefüllt, das hat aber auch schon vorher geklappt. wenn ich jetzt weiterleite auf varcheck, dann können sie aber plötzlich nicht mehr ausgegeben werden.

                Gruß
                timsen

                Kommentar


                • #23
                  zeig nochmal die "neuen" dateien

                  Kommentar


                  • #24
                    Hier bitte.
                    Angehängte Dateien

                    Kommentar


                    • #25
                      in anmeldung2.php fehlt immer noch
                      session_start();
                      ansonsten seh ich keine probleme

                      Kommentar


                      • #26
                        Hallo graf,

                        ich hab das ganze neu programmiert und das haut auch geklappt.
                        Jetzt habe ich aber ein anderes Problem, ich hab versucht den Trick mit den PW verschlüsseln aus diesem Forum bei mir einzubauen. Ich bekomme jetzt immer ein Parse Error (Zeile 89) und finde den Fehler nicht.
                        Da Zeile 89 meine letzte ist und das eigentlich nicht sein kann, hab ich mal den ganzen Code gepostet. Alles nach Zeile 50 müßte so stimmen, da ich es nicht verändert habe und es vorher funktioniert hat.

                        PHP-Code:
                        <?php
                            session_start
                        ();
                            
                            
                        //Cookie auslesen
                            
                        if(isset($BerichteCookie)) {
                                
                                
                        $data $HTTP_COOKIE_VARS['BerichteCookie'];
                              
                        $data explode("|",$data);
                              
                              
                        //Variablen zur Hashgenerierung
                              
                        $secret "lilafitscheriegruenmitgelbblauenlalatupfen";
                                
                        $user_agent $_SERVER['HTTP_USER_AGENT'];
                              
                        $login $data[0];
                              
                        $hashdat $data[1];
                              
                              
                        $name "login.txt";
                              
                        $datatxt file($name);      
                              
                              
                        //Vergleich des Hash aus dem Cookie mit dem Servergenerierten Hash
                              
                        foreach ($datatxt as $line)
                              {
                                  
                        $ar explode("|"trim($line));
                                    
                        $logindat $ar[0];
                                    
                        $passwortdat $ar[1];
                                  
                        $hash md5($login.$passwortdat.$user_agent.$secret);
                                  if (
                        $login == $logindat && $hash == $hashdat) {
                                      
                        $passwort passwortdat;
                                      
                        $hash md5($login.$passwort.$user_agent.$secret);
                                      
                        $cookievalue $login '|' $hash;
                                        
                        setcookie("BerichteCookie"$cookievaluetime()+30*24*60*60);
                                        
                                            
                                        
                        // Logeintrag schreiben
                                        
                        $fp fopen("log.txt","a");
                                       if (
                        $fp) {
                                         
                        $zeitstempel date("d.m.y \u\m H:i:s");
                                         
                        $ipadresse $HTTP_SERVER_VARS ['REMOTE_ADDR']; 
                                         
                        flock($fp,2);
                                         
                        $nl chr(13) . chr(10);
                                         
                        fputs ($fp,"$zeitstempel|$ipadresse|$login|$nl");
                                         
                        flock($fp,3);
                                         
                        fclose($fp);
                                       } else {
                                         echo 
                        "Logdatei konnte nicht gespeichert werden.";                                   
                                       }
                                       
                        header('Location: cookietest.php');
                                        exit();
                                  }      
                            } 
                                      
                            
                        $name "login.txt";
                            
                        $data file($name);

                                
                            foreach (
                        $data as $line)
                            {
                                
                        $ar explode("|"trim($line));
                                
                        $logindat $ar[0];
                                
                        $passwortdat $ar[1];
                                
                            
                                
                        //Vergleich der Logindaten
                                
                        if ($login == $logindat && $passwort == $passwortdat) {
                                    
                        $hash md5($login.$passwort.$user_agent.$secret);
                                    
                        $cookievalue $login '|' $hash;
                                    
                        setcookie("BerichteCookie"$cookievaluetime()+30*24*60*60);
                                    
                                    
                        // Logeintrag schreiben
                                    
                        $fp fopen("log.txt","a");
                                   if (
                        $fp) {
                                     
                        $zeitstempel date("d.m.y \u\m H:i:s");
                                     
                        $ipadresse $HTTP_SERVER_VARS ['REMOTE_ADDR']; 
                                     
                        flock($fp,2);
                                     
                        $nl chr(13) . chr(10);
                                     
                        fputs ($fp,"$zeitstempel|$ipadresse|$login|$nl");
                                     
                        flock($fp,3);
                                     
                        fclose($fp);
                                   } else {
                                     echo 
                        "Logdatei konnte nicht gespeichert werden.";                  
                                   }
                                    
                                    
                        header('Location: cookietest.php');
                                    exit();
                                }
                            }
                             
                            
                        header('Location: anmeldung.html?fail=true');
                            exit();
                        ?>

                        Kommentar


                        • #27
                          Hab einen Fehler gefunden, hatte ein } vergessen.
                          Jetzt habe ich das Problem, dass mir angezeigt wird, Seite nicht gefunden.

                          Kommentar

                          Lädt...
                          X