[PHP] MySQL Passwort Abfrage

  • Sorry ich kannte die Funktion mysq_fetch_assoc (noch) nicht.


    hier liegt der Fehler:

    PHP
    if($_GET['name'] == $bla['name'])


    1.) Es muss $_GET['password] heißen
    2.) Es muss $bla['SPALTENNAME'] heißen, der zu 99 % nicht name wo das PW eingetragen ist heißt.
    3.) Würde ich dir POST anstatt GET empfhelen, da dass PW dann im Klartext im GET String übergeben wird und diese man dann im Verlauf verfolgen kann.

  • Danke, es funktioniert jetzt - Habe das garnicht festgestellt. Habe ab jetzt auch POST genutzt, aber vorher gab es bei der Post-Variante einen PHP-Error, deshalb habe ich erstmal Get genutzt.
    Kleine Frage noch, wie schaffe ich es dass überprüft wird ob der Spieler überhaupt in der MySQL-Tabelle vorhanden ist?
    Und sollte ich am besten für ein erfolgreiches Login Session nutzen (wo ich mich noch nicht so gut auskenne) oder würden auch Cookies funktionieren?


    Mit freundlichen Grüßen
    Padarom

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

    Einmal editiert, zuletzt von Padarom ()

  • SESSION ist ganz einfach, sind genau so zu setzen wie $_POST['variable'] und auch so auszulesen.


    Ehm ich mache das zwar anders, aber hier so müsste es funktioniereren:

    PHP
    $bla = mysql_fetch_assoc($ergebnis);
    if(!isset($bla['password'])) die("User wurde nicht gefunden");


    Macht folgendes:
    Er prüft ob $bla['password'] gesetzt ist, dies funktioniert nur, wenn die Bediengung beim Query erfüllt worden ist, sollte es nicht so sein, wird diese Variable/Array nicht gesetzt.
    Die macht nichts anderes als dass es sofort alles abbricht und nicht mehr weiter macht und sozugusagen mit einem echo verbunden ist, sprich er gibt aus, was man noch in den runden Klammern von die() angibt.