[loginscript] Passwort ändern funktoniert nicht

alex130

Erfahrenes Mitglied
Hi
Ich hab ein Problem bei meinem Loginscript und zwar wollte ich eine "Passwort vergessen" Datei machen. Ich hab das jetzt gemacht und es kommt auch kein Fehler aber ich bekomme weder eine Mail mit dem neuen PW noch wird die db geupdated, ich hoffe ihr könnt mir helfen.
Thx

Code.
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<form action="<?PHP echo $_SERVER["PHP_SELF"]; ?>" method="POST" enctype="text/plain">
<input type="text" name="email" size="30" />
<input type="submit" value="Neues PW" name="submit" />
</form>
</body>
</html>


 <?PHP
include ("configs/config.inc.php");

 function generatePassword ($length)
{
for ($i=0;$i<$length;$i++)
{
$key = rand (1,3);
switch ($key)
{
case 1: $password .= chr (rand(48,57)); break; // [a-z]
case 2: $password .= chr (rand(65,90)); break; // [0-9]
case 3: $password .= chr (rand(97,122)); break; // [A-Z]
}
}
return $password;
}



mysql_connect($host, $user, $pass) or die ("Keine Verbindung zu der Datenbank möglich.");
mysql_select_db($db);

if ($_POST['submit']) {


$new_pw = generatePassword (10);
$pw_md5 = md5($new_pw);
$update_pw = 'UPDATE `loginscript` SET `Passwort` = '.$pw_md5.' WHERE `email` = \''.addslashes ($_POST["email"]).'\'';
mysql_query($update_pw);

mail($_POST['email'], "Neues Passwort", "Ihr neues Passwort lautet: ".$new_pw);
echo "<br> PW: $sd2";


}
?>
 
Dann wird er die Bedingung als nicht wahr erachten...
probier mal folgendes:
PHP:
if (isset($_POST['submit'])) {
// oder
if ($_POST['submit'] == 'submit') {  
//oder
if (!empty($_POST['submit'])) {

mfg :)
 
Notice: Undefined index: submit in /var/www/web14/html/webhoster/lostpw.php on line 41
Übertrage mal die Daten vom POST Array in Variabeln.
PHP:
$submit = isset ( $_POST['submit'] ) ? strip_tags ( $_POST['submit'] ) : "";
Und benutze im Quellcode dann nur $submit anstatt $_POST['submit'].
 
Der Fehler ist weg aber es funktoniert immer noch nicht :(
Ich hab einfach keinen Plan mehr, was nun falsch ist.
 
Was sind denn die Server Vorrausetzungen worauf das Skript läuft?
Local oder Online?
Safe Mode on oder off?
Register Globals on oder off?
 
Online
Safe Mode weiß ich nicht
und Register Gloabals glaub ich online.
Ich werd mir wohl ein fertiges Script nehmen müssen,
kennt jemand eins? Oder hat jemand Zeit/Lust ein changepw script zu machen?
Thx
 
//edit:
Wenn ich jetzt ne Mail Adresse angebe und abschicken klicke, dann kommt:

PHP:
Notice: Undefined variable: password in /var/www/web14/html/webhoster/lostpw.php on line 29

Ich bekomm jetzt zwar ne mail mit dem pw aber es wird in der db nicht geupdated
 
Zurück