Login für eigene Website

  • PHP

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Login für eigene Website

    Ich lerne gerade PHP, und da hab ich mal einen einfachen Login für meine Website gemacht.
    Der Benutzer gibt seinen Name ein, und der wird in einem Cookie gespeichert. Bis hierhin funktioniert alles, doch wie kann ich mit Hilfe einer If-Abfrage feststellen ob der Cookie mit einem Name besetzt wurder?
    Hier der Code:

    PHP-Quellcode

    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    2. "http://inukun.in.ohost.de">
    3. <html>
    4. <head>
    5. <title>The Site - Navigation</title>
    6. <link rel="stylesheet" media="screen" href="css/main.css">
    7. <link rel="stylesheet" media="print, embossed" href="css/druck.css">
    8. </head>
    9. <body>
    10. <?php
    11. setcookie("info", "$name", time()+7200, "/");
    12. if(isset($name))
    13. {
    14. print"Hallo, $name!";
    15. }
    16. elseif($info==0)
    17. {
    18. print"Hallo!
    19. <form action=login.htm method=post>
    20. Ihr Name:<input type=text name=name size=20><br>
    21. <input type=submit value=senden>
    22. </form>";
    23. }
    24. else
    25. {
    26. print"Du bist bereits eingeloggt!";
    27. }
    28. ?>
    29. </body>
    30. </html>
    Alles anzeigen


    PS: Ich verwende das Tutorial DL ENTFERNT , ist das gut?
    Wenn nein, welches ist besser?
    Meine Seite: h**p://inukun.in.ohost.de

    KEINE DLs!!! :mad:

    Sorry, dann poste ich mal den Link auf die Seite: h**p://www.robsite.de/, und zwar das Tutorial learninPHP
  • Sei nicht enttäuscht, aber ich würde dir von Cookies abraten, auch weil ich sie selber nicht leiden kann.
    Stattdessen bietet PHP die wunderschöne $_SESSION Variable, mit der du beliebig viele Informationen speichern und abrufen kannst, die jeweils für eine Sitzung gültig sind.

    Hier mal ein Beipiel-Code:

    PHP-Quellcode

    1. session_start(); // wichtig für $_SESSION
    2. // wenn login info: einloggen
    3. if (isset($_REQUEST['login']))
    4. if ($_REQUEST['login'] == "der login name")
    5. // eintrag in der session variable speichern
    6. $_SESSION['name'] = "der login name";
    7. // seite anzeigen
    8. // session variable abfragen
    9. if (isset($_SESSION['name']))
    10. {
    11. // sicherheitsprüfung - ich denke es ist ganz sinnvoll um fehlern vorzubeugen
    12. if ($_SESSION['name'] == "der login name")
    13. echo "du bist eingeloggt";
    14. }
    15. // wenn nicht eingeloggt - login formular anzeigen
    16. else
    17. echo '<form action="datei.php" method="post"><input type="edit" name="login" /><input type="submit" name="whatever" value="Login" /></form>';
    Alles anzeigen

    Nur ganz schnell etwas geschrieben ohne viel drum herum. Ich hoffe die Benutzung von $_SESSION kommt zur Geltung. Ansonsten machs so wie ich und habe das PHP Handbuch immer parat während des codens. ;)

    Übrigens zum Auslogen einfach den Befehl unset($_SESSION['name']); nehmen, schon ist der User draußen. ^^
  • Danke für die schnelle Antwort, ich konnte leider nicht schneller zurückschreiben.
    Ich wusste bis jetzt noch garnicht, dass es so etwas wie Session-Variablen überhaupt gibt, bin ja erst beim Lernen.
    Die Session-Variablen werde ich auf jedenfall dem Cookie vorziehen, denn Cookies kann man deaktivieren, Variablen nicht!

    mfg, bloodycross

    PS:Welches Tutorial ist gut zum PHP lernen?
  • Wenn du gut Englisch kannst würde ich bei hxxp://w³.pixel2life.com nachgucken die Tutorials haben mir sehr geholfen. Sonst würde ich halt mal nach einem Buch gucken kleinere Hefte findest du schon für 5 euro bei w³.knowware.de. Odaer du guckst bei Amazon nach einem PHP Buch. ;)

    MFG FX
  • Mensch MeX ^^ ... er wollt das doch nurmal so zu kenntnis geben :P...

    Ne aber mal zum Thema... bloodycross hast du denn vllt auch ne mysql datenbank zur verfügung ? Ich baue auch gerne Homepages und wenn ich eine mit Login bastle ... dann verwende ich auch die Session Variablen in Verbindung mit einer mySQL Datenbank... Das funzt hervorragend weil man dann auch seine Passwörter noch gleich schön in MD5 speichern...

    mfg