[PHP] Mehrere Fragen

  • Hallo,
    ich wollte dem Nutzer eben eine Möglichkeit geben (in meinem selbsterstellten UCP) seinen Charakter zu löschen. Sein Passwort, Geburtstag und E-Mail zu ändern habe ich bereits geschafft, allerdings fehlt mir noch die Funktion für das Löschen des Passwortes.
    Nämlich ist das Passwort angeblich immer falsch.
    Hier der Code:



    Und noch das Formular:

    PHP
    <form action="" method="post">
    Wollen Sie Ihren Account löschen? Geben Sie Ihr Passwort in das Erste, und LÖSCHEN in das zweite Feld ein.<p>
    <input type='password' name='ppw'><p>
    <input name='losch'><p>
    <input type='submit' value='Account löschen'>
    </form>


    Mit freundlichen Grüßen
    Padarom


    PS: Wie man wahrscheinlich erkennt ist das Passwort MD5-verschlüsselt.
    PPS: Bei meinem Login habe ich es auch geschafft, allerdings mit einer anderen Möglichkeit die ich hier nicht anwenden könnte, da ich die Session neustarten müsste und ein paar andere Dinge ändern müsste.

    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 ()

  • Hi, einfach die zwei Zeilen ersetzen:

    PHP
    $pwa = "SELECT passwort FROM user WHERE name =  '$n'"; // Besser "=" anstatt "like"
    $pwd = mysql_result(mysql_query($pwa),0) or die(mysql_error()); // mysql_result verwenden, anstatt bekommt er ja nicht das ergebnis
  • thx, hat funktioniert


    Eine Frage noch:
    Ich habe in meiner Login-Datei erfragt ob der Nutzer alle Felder ausgefüllt hat. Wenn dies der Fall war und das Passwort stimmte hat er ihn eingeloggt.
    War nicht alles ausgefüllt kam eine Nachricht "Du musst alle Felder ausfüllen". Diese ist allerdings auch vorhanden wenn man die Seite lädt. In einem PHP-Buch habe ich gelesen dass man dem submit-Button einen name='absenden' geben sollte und dann anfangs erfragen soll ob isset($absenden), doch dies funktioniert nicht. Denn dann kommt die Nachricht zwar nicht wenn man die Seite betritt, allerdings auch nicht wenn man auf Einloggen drückt ohne ein Feld auszufüllen.


    Zweite Frage:
    Wie kann ich überprüfen auf welcher Seite der Nutzer das letzte Mal war? Wenn er sich registriert hat (oder seinen Account gelöscht hat) wird er auf das Login-Formular weitergeleitet. Dann müsste dort jeweils die Nachricht kommen "Du hast dich erfolgreich registriert" oder "Dein Account wurde gelöscht".


    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


  • Zu erstens kann ich dir nicht viel sagen sry..., probier mal if($submit) ?


    zu zweitens:
    Verwende einfach Sessions?

  • Funktioniert es dass ich zwei Sessions gleichzeitg verwende?
    Wenn ja, wie?


    Und hier ist die Registration:
    Klick me


    Anfangs wird kein Text angezeigt (wegen if($absenden)) aber wenn man nur irgendwelche falschen Daten eingibt, etc. werden auch keine Nachrichten gezeigt.


    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

  • thx, so funktioniert alles.
    Allerdings kommt schon mein nächstes Problem :S Ich möchte eine E-Mail Validierung haben, dass heißt der Unix-Timestamp wird bei der Registrierung in die MySQL-Tabelle geschrieben. Der Nutzer bekommt eine Mail mit einem Validierungslink (validate.php?UNIXTIMESTAMP NAME). Sollte er diesen Link nicht aufgerufen haben und versucht sich einzuloggen, sollte eine Nachricht kommen. Diese funktioniert allerdings nicht. Hier der Codeteil:


    Hier der Teil der überprüft ob die Daten richtig sind:


    Und hier der Teil der mit GET überprüft ob der Nutzer versucht hat sich einzuloggen, aber nicht validiert ist:


    Ist eigentlich noch etwas komplexer gehalten das Dokument, aber ich habe keine Lust alle möglichen Schnipsel von den 200 Zeilen rauszukopieren^^


    Schaut euch bitte selber an was dann passiert:
    http://www.usr32.eagle-cms.net/login.php
    Name: Paul, Passwort: geheim
    Und: http://www.usr32.eagle-cms.net/login.php?not (Wenn man nicht validiert wäre)


    Mit freundlichen Grüßen
    Padarom


    **edit**
    Für diejenigen die sich das nicht ansehen wollen, wenn man seine Logindaten eingibt (und eben nicht valide ist) kommt kein Formular mehr... Und wenn man das ?not hintendran einfügt kommen zwei Formulare, eins mit der Nachricht dass man nicht valid ist, das andere normal.


    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

  • validate.php?UNIXTIMESTAMP NAME


    Wenn, dann muss es schon so heißten validdate.php?timestamp=1234567890&name=Grex
    Wäre dann 1234567890 Timestamp und der Name Grex
    Was soll das $_GET['not'] bewirken?

  • War ja nur ein Beispiel.
    Das $_GET['not'] bewirkt, dass wenn in der Adresszeile steht
    login.php?not
    eine bestimmte Nachricht kommt, bzw. einfach der Teil darin ausgeführt wird.


    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

    2 Mal editiert, zuletzt von Padarom ()