Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Benötige Hilfe beim Passwort zurücksetzen





Frage

Hallo allerseits. Bin grade sehr verwundert und verstehe nix mehr. Ich habe ein MySQL-Login, bei dem ich nun eine Art "Passwort vergessen-Funktion" einbauen möchte. Dazu soll ein zufälliges Passwort gebildet werden und an die vorher in einem Formular eingegebene Email gesendet werden. Das funnktioniert alles auch wunderbar, nur leider ändert er das Passwort in der Datenbank nicht! Das komische ist, dass es in einer anderen PHP mit dem gleichen Code funzt. Hier ist der Code, vll könnt Ihr irgendwelche Fehler entdecken? [code]$subject = "Ihr Passwort bei Homepage"; $more = "From: meine@email.land\r\nReturn-Path: meine@email.land\r\nContent-Type:text"; $anz=6; if ($anz){ $chars = ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"); for ($i = 0; $i < $anz; $i++) { $password .= $chars{mt_rand (0,strlen($chars))}; } } $connectionid = mysql_connect ("localhost", "User", "Passwort"); if (!mysql_select_db ("Datenbank", $connectionid)) { die ("Keine Verbindung zur Datenbank"); } $sql = "SELECT email, username FROM test_users WHERE email = '".$Email."'"; $result = mysql_query ($sql); while($row = mysql_fetch_object($result)) { $body="Guten Tag $row->username,\n\nSie haben ein neues Passwort angefordert!\nDas neue zufällig erstellte Passwort lautet: $password \n\n\nMeine Homepage\n\nFalls Sie Ihr Passwort nicht zurückgesetzt haben, gehen Sie bitte in Ihr Profil und ändern Sie das Passwort wieder!"; } if (mysql_num_rows ($result) == "0") { echo("Es ist kein Benutzer mit dieser Emailadresse in unserer Datenbank vorhanden!"); die(); } elseif (mysql_num_rows ($result) > 0) { $aendern = "UPDATE test_users Set passwort = '".md5 ($password)."' WHERE id = '".$_SESSION["user_id"]."'"; $eintragend = mysql_query($aendern); mail("$Email", $subject,$body, $more); header("Location: profil.php"); }

Antwort 1 von Sichtbarer

Hallo,

versuch mal die Zeilen
$aendern = "UPDATE test_users Set passwort = '".md5 ($password)."'
WHERE id = '".$_SESSION["user_id"]."'";


so zu ändern:

$user_id2 = $_SESSION["user_id"];
$aendern = "UPDATE test_users Set passwort = '".md5 ($password)."'
WHERE id = '".$user_id2."'";


Antwort 2 von DeluxeStyle

hast schon überprüft, ob die $_SESSION["user_id"] gesetzt ist?

für mich sieht es so aus, als ob die Session leer wäre und daher wird nix geändert

Antwort 3 von Uesch

Ihr hattet Recht. Ich war wohl etwas übermüdet. Es gab keine Session user-id. Habe das Problem aber jetzt anders geregelt.

Vielen Dank!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: