Benutzeranmeldung mit Cookie Funktion

Schniko

Grünschnabel
Hallo zusammen!

Hat jemand einen einfachen, kurzen Quellcode für eine Benutzeranmeldung (Name und Passwort) einschließlich Cookie Speicherung

Alles, was ich bis jetzt hinbekomme, ist das Formular:

HTML:
<html>
<head>

</head>
 <body>
 
  <form name ="Benutzeranmeldung" action=" " method="POST">
   Benutzername:
   <input type="Text" name="name">
   </br>
   Passwort:
   <input type="text" name="passwort">
   </br>
   <input type="Submit" value="Weiter">
  </form> 
  

 </body>
</html>

Liebe Grüße!
 
Hi

um cookies zu setzen, nutze die Funktion setcookie(), alle Cookies deines Clients finden sich im array $_COOKIE.

Beispiel:
PHP:
setcookie("username","hans", time()+3600);//1h
echo "Hallo ".$_COOKIE["username"];
 
Ich hab es jetzt mal so probiert:

PHP:
<html>
<head>
</head>
<body>
 <form action="cookie2.php" method="POST">
   Benutzername:
   <input type="Text" name="name">
   </br>
   Passwort:
   <input type="text" name="passwort">
   </br>
   <input type="Submit" value="Weiter">
  </form> 

<?php
 if(isset($_POST["name"]) && ! empty($_POST["name"]))
    {
     setCookie("name",$_POST["name"],time()+2592000);
    }

 if(isset($_COOKIE["name"]))
    {
     echo ($_COOKIE["name"]);
     }
?>


</body>
</html>

Allerdings kommt beim Klick auf "Weiter" folgende Fehlermeldung:

Warning: Cannot modify header information - headers already sent by (output started at /Applications/XAMPP/xamppfiles/htdocs/cookie2.php:16) in /Applications/XAMPP/xamppfiles/htdocs/cookie2.php on line 19


Heißt das, ich muss den Teil mit dem Cookie setzen usw, in den Header schreiben Oder vor das Formular?
 
Zuletzt bearbeitet:
Hi

(die Fehlermeldung hätte man übrigens auch in google finden können, so häufig wie die vorkommt ;) )

Du darfst keinerlei Ausgaben vorher tätigten, dies beinhaltet Ausgaben wie z.b mit echo oder print, aber auch HTML Code und Leerzeichen. Schreibe die betreffende Abfrage mal ganz an den Anfang deines Scriptes oder schaue dir ob_start() an.
 
Die Fehlermeldung habe ich bei Google gefunden und auch die Info, dass man vorher nichts anderes ausgeben darf.
Habe natürlich auch ausprobiert, den php teil vor das formular und auch in den header zu setzen.
Kommt aber leider die gleiche fehlermeldung ;-)
 
Ich hoffe du meinst mit header nicht <head></head>... Wie gesagt schreibe den Code mal in die Erste Zeile deines Scriptes und die Fehlermeldung wird verschwinden.
 
Huups....das war wohl ein klassischer Anfänger-Fehler :-)
Jetzt ist die Fehlermeldung weg.
Nur der Text wird nicht in dem Feld Benutzername angezeigt sondern über dem Formular...
 
Geht das vielleicht über:
HTML:
    Benutzername:
   <input type="Text" name="name" value="<?php  echo ($_COOKIE["name"]);?>" >
oder so ähnlich
 
Zuletzt bearbeitet:
Probier doch aus ob es klappt :D Entweder der Name wird angezeigt oder nicht ;) Ob es dann klappt solltest du dann wohl reininterpretieren können
 
Hey nochmal,
also eigentlich klappt das mit dem Cookie setzen und abrufen jetzt.
Allerdings ist es so, dass wenn ich neue Werte in die Felder eintrage und den Cookie überschreiben will, und dann auf "weiter" klicke, wird die Seite erneut mit den alten Daten angezeigt. Wenn ich dann aber die Seite noch mal neu lade, stehen die neuen Werte in den Feldern....
Woran könnte das liegen?

Der Code lautet:
PHP:
<?php
 if(isset($_POST["name"]) && ! empty($_POST["name"]))
    {
     setCookie("name",$_POST["name"],time()+2592000);
    }    
if (isset($_POST["passwort"]) && ! empty($_POST["passwort"]))
    {
    setCookie("passwort",$_POST["passwort"],time()+2592000);
    }
    ?>
<html>
<head>
 </head>
<body>
 
 
 <form action="cookie2.php" method="POST">
   Benutzername:
   <input type="Text" name="name" value="<?php  echo ($_COOKIE["name"]);?>" >
   </br>
   Passwort:
   <input type="text" name="passwort" value="<?php  echo ($_COOKIE["passwort"]);?>">
   </br>
   <input type="Submit" value="Weiter">
  </form> 

</body>
</html>
 
Zurück