Frage bezüglich des Log In System

  • Frage bezüglich des Log In System

    Guten Tag,

    ich habe wirklich keine Ahnung von einem Log In System, kann mir irgendjemand eine Hilfestellung geben?
    Das Log In System soll auf MySQL basieren, aber wie werte ich eine Eingabe aus, etc?

    Es soll jetzt hier keine Lösung erscheinen sondern viel mehr eine kleine Hilfestellung, was ich wo machen muss.

    Tut mir leid, dass ich euch damit nerve, aber ich kapiere das nicht.

    Viele Grüße
    Chris_Parker
  • Ich würde das wie folgt machen (wenn's jetzt nicht OOP ist):
    • Aus dem Formular (angenommen $_POST['name'] und $_POST['password']) ein SELECT Befehl bauen, welcher alle Einträge selected, wo die Usernamenspalte = $_POST['name'] ist und selbiges bei dem Passwort (ggf. mit md5(), wie du magst).
    • Das Result/Ergebnis des Querys mal mit mysql_num_rows() auswerten, schauen ob mysql_num_rows() gleich 1 entspricht, wenn ja, den User als eingeloggt "markieren" bzw. einloggen (mit COOKIES, SESSIONS, whatever)
    Ich hoffe es ist für dich verständlich, da du ja sagtest, dass du mit MySQL & PHP schon ein wenig Erfahrung gesammelt hast - wenn nicht, kein Problem, sag bescheid! :)
  • Hey, ganz locker bleiben - alles ist gut, lass den Kopf nicht hängen, dazu ist das Forum schließlich da, nicht wahr? ;)
    Du hast eine Form, nehme ich mal an (also ein Forumlar, <form></form>), richtig?
    Wenn ja, dann schaust du, ob du das ungefähr wie folgt hast:

    HTML-Quellcode

    1. <form method="post" action="seite.php">

    Die Seite.php ist die Seite, die das Formular dann quasi auswertet.
    Darin enthalten sind 2 oder mehr Inputfelder (Textfelder) für Passwort und Name (halt ein Login) und ggf. noch ein "Absenden"-Button.
    Du gibst den Textfeldern, bspw.:

    HTML-Quellcode

    1. <input type="text" />

    eine eindeutige ID bzw. ein "Name"-Attribut:

    HTML-Quellcode

    1. <input type="text" name="Loginname" />

    Selbiges machst du mit dem Passwortfeld (ggf. kannst du das auch als type="passwort" machen):

    HTML-Quellcode

    1. <input type="password" name="Loginpasswort" />


    Das ist erstmal der "Formular"-Teil.
    Nun kommen wir zum "Verwertungsteil" (also zur seite.php):
    Du holst dir die Eingabe von den Formularfeldern wie folgt:

    PHP-Quellcode

    1. $_POST['Loginname'];
    2. $_POST['Loginpasswort'];

    wenn du magst, was aber eigentlich unnütz ist, kannst du diese noch an Variablen übergeben.

    Aus diesen Eingaben baust du dir nun ein einfachen "SELECT" Query, der alles "SELECT" soll (da du ja kein Code haben magst, was ich auch gut finde, schreibe ich dir mal, was er können soll) wo die Bedingung:
    `Name` = '". mysql_real_escape_string($_POST['Loginname']) ."' AND `Passwort` = '". mysql_real_escape_string($_POST['Loginpasswort']) .'"
    zutrifft. Das ganze schickst du dann mit mysql_query() ab und prüfst dann noch mit mysql_num_rows() ob auch ein Ergebnis vorliegt (also ob der Benutzer mit den eingegebenen Daten existiert), wenn ja, loggst du ihn ein, wenn nicht, dann nicht.

    Bei Fragen: Bitte, frag! :)
  • So, wenn ich das so mache, wie dieser "Typ" da => youtube.com/watch?v=rDomdK2rxP8
    Funktioniert das ja eigentlich, jetzt stellt sich nur bei mir Frage, wo ich das mit den Sessions mache?
    Kann mir da jemand weiterhelfen? - Denn was du mir (TutNichts) erklärt hast, kapiere ich, ich habe eigentlich
    mehr Probleme mit den Sessions. - Das ist so ein Buch mit sieben Schlösser, oder wie man das nennt... :)

    Gruß & Danke
    Chris
  • So, hier ist das Grundscript, natürlich habe ich dieses Angepasst zu meinem Design,
    und es klappt auch. Vielen Dank für eure Unterstützung! Könnte mir vll. jemand helfen,
    wie ich das System jetzt umschreibe, sodass es auf MySQL läuft?

    Geschützter Bereich:

    PHP-Quellcode

    1. <?php
    2. session_start();
    3. if(isset($_SESSION["username"])) {
    4. ?>
    5. <html>
    6. </head>
    7. <title>Mein Bereich</title>
    8. </head>
    9. <body>
    10. <h1>Hallo <?php echo $_SESSION["username"]; ?></h1>
    11. <a href="logout.php">Ausloggen</a>
    12. </body>
    13. </html>
    14. <?php
    15. } else {
    16. ?>
    17. Bitte erst einloggen, <a href="index.php">hier</a>.
    18. <?php
    19. }
    20. ?>
    Alles anzeigen

    Einlogg Page

    PHP-Quellcode

    1. <?php
    2. $verhalten = 0;
    3. session_start();
    4. if(!isset($_SESSION["username"]) and !isset($_GET["page"])) {
    5. $verhalten = 0;
    6. }
    7. if($_GET["page"] == "log") {
    8. $user = $_POST["user"];
    9. $passwort = $_POST["passwort"];
    10. if($user == "admin" and $passwort == "adminpw") {
    11. $_SESSION["username"] = $user;
    12. $verhalten = 1;
    13. } else {
    14. $verhalten = 2;
    15. }
    16. }
    17. ?>
    18. <!DOCTYPE html>
    19. <html>
    20. <head>
    21. <title>Geschützer Bereich</title>
    22. <?php
    23. if($verhalten == 1) {
    24. ?>
    25. <meta http-equiv="refresh" content="3; URL=seite2.php"
    26. <?php
    27. }
    28. ?>
    29. </head>
    30. <body>
    31. <?php
    32. if($verhalten == 0) {
    33. ?>
    34. Bitte logge dich ein:<br />
    35. <form method="post" action="index.php?page=log">
    36. User:<input type="text" name="user" /><br />
    37. Passwort:<input type="password" name="passwort" /><br />
    38. <input type="submit" value="Einloggen" />
    39. </form>
    40. <?php
    41. }
    42. if($verhalten == 1) {
    43. ?>
    44. Du hast dich richtig eingeloggt und wirst nun weitergeleitet....
    45. <?php
    46. }
    47. if($verhalten == 2) {
    48. ?>
    49. Du hast dich nicht richtig eingeloggt, <a href="index.php">zurück</a>.
    50. <?php
    51. }
    52. ?>
    53. </body>
    54. </html>
    Alles anzeigen


    Ausloggen

    PHP-Quellcode

    1. <?php
    2. session_start();
    3. session_destroy();
    4. ?>
    5. <html>
    6. <body>
    7. <h3>Du bist nun erfolgreich ausgeloggt.</h3>
    8. </body>
    9. </html>


    Viele Grüße und Danke
    Chris

    #=> gamingforgermany.com/blog/login.php Hier könnt ihr es ausprobieren. NAME= admin PW= adminpw
    ##natürlich werde ich es dann ändern :P