Anfänger Login Script

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

  • Anfänger Login Script

    Servus,
    ja auch ich habe jetzt angefangen PHP zu lernen ;)
    Ich versuche erst einmal ein kleines login zu machne..
    Der code sieht so aus:

    Quellcode

    1. <html>
    2. <head><title>Login Script</title>
    3. </head>
    4. <body>
    5. <?php
    6. if (isset($_POST['name']) && isset($_POST['pw']))
    7. {
    8. $name = $_POST['name'];
    9. $pw = $_POST['pw'];
    10. if (($name == "admin" ) AND ($pw == "pw"))
    11. {
    12. echo "Login ist Korrekt";
    13. }
    14. else
    15. {
    16. echo "Login ist Falsch";
    17. }
    18. }
    19. ?>
    20. <form action="" method="post">
    21. <input name="name" value="Ihr Loginname" size="50"></input>
    22. <input name="pw" value="Ihr Passwort" size="50"></input>
    23. <input type="submit" name="button" value="jetzt installieren"/>
    24. </form>
    25. </body>
    26. </html>
    Alles anzeigen

    Wie kann ich es machen, dass ich das Formular abschicke, und dass er dann erst NAme und PW überprüft?
    Für jeden Autofahrer bussgeldkataloge.eu
  • Quellcode

    1. <html>
    2. <head>
    3. <title>Login Script</title>
    4. </head>
    5. <body>
    6. <?php
    7. if ($_POST['submit'] == 1)
    8. {
    9. $name = $_POST['name'];
    10. $pw = $_POST['pw'];
    11. if ($name == "admin")
    12. {
    13. if($pw = "pw")
    14. {
    15. echo "Du bist eingeloggt";
    16. } else {
    17. echo "Passwort ist Falsch";
    18. }
    19. } else {
    20. echo "User ist Falsch";
    21. }
    22. }
    23. echo '<form action="'. $_SERVER['PHP_SELF'].'" method="post">';
    24. ?>
    25. <input type="hidden" name="submit" value="1" />
    26. <input type="text" name="name" value="Ihr Loginname" size="50" />
    27. <br />
    28. <input type="password" name="pw" value="Ihr Passwort" size="50" />
    29. <br />
    30. <input type="submit" value="jetzt installieren"/>
    31. </form>
    32. </body>
    33. </html>
    Alles anzeigen
  • damit: header("location:seite2.php");
    bei logins solltest du allerdings mit sessions arbeiten
    kennt jemand dein dateinamen "seite2.php" erhält er vollen zugriff

    Quellcode

    1. <?php
    2. if ($_POST['submit'] == 1)
    3. {
    4. $name = $_POST['name'];
    5. $pw = $_POST['pw'];
    6. if ($name == "admin")
    7. {
    8. if($pw = "pw")
    9. {
    10. header("location:seite2.php");
    11. } else {
    12. echo "Passwort ist Falsch";
    13. }
    14. } else {
    15. echo "User ist Falsch";
    16. }
    17. }
    18. echo '<html>
    19. <head>
    20. <title>Login Script</title>
    21. </head>
    22. <body>
    23. <form action="'. $_SERVER['PHP_SELF'].'" method="post">';
    24. ?>
    25. <input type="hidden" name="submit" value="1" />
    26. <input type="text" name="name" value="Ihr Loginname" size="50" />
    27. <br />
    28. <input type="password" name="pw" value="Ihr Passwort" size="50" />
    29. <br />
    30. <input type="submit" value="jetzt installieren"/>
    31. </form>
    32. </body>
    33. </html>
    Alles anzeigen
  • ne alternative zu
    header("location:seite2.php");
    wäre, den hier folgenden befehl per <a href='http://de.php.net/include' target='_blank'>include()</a> einzufügen. also z.B.:
    include("seite2.php");
    nun würde der user zumindest nichts von der existenz einer datei namens seite2.php merken.
    sollte dann aber trotzdem jemand darauf kommen, dass eine solche datei existiert, wäre sie ungeschützt. deswegen ist es besser, das spielchen andersrum zu betreiben: deinen passwortschutz-code tust du in eine extradatei und bindest sie per <a href='http://de.php.net/include' target='_blank'>include()</a> in deine inhaltsdateien ein.
    beispiel seite2.php:
    die seite beginnt mit einen
    <?php include("passwortschutz.php");
    passwortschutz.php entspräche in etwa der datei, die wir bis hierher schon gecodet haben.
    mit dem <a href='http://de.php.net/exit' target='_blank'>exit()</a>-Befehl solltest du dann verhindern, dass der Inhalt der Serite tatsächlich angezeigt wird, auch wenn man keins oder das falsche Passwort eingibt.