Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 16-09-2008, 21:23
Tripolis
 Registrierter Benutzer
Links : Onlinestatus : Tripolis ist offline
Registriert seit: Sep 2008
Beiträge: 23
Tripolis ist zur Zeit noch ein unbeschriebenes Blatt
Tripolis eine Nachricht über ICQ schicken
Standard Vergessenes PW

Meine PHP hat folgenden Inhalt für die E-mail abfrage beim Vergessen des Passwortes.

Code:
<?php

if(!isset($_POST['email'])){
echo file_get_contents('forgotpw.html');
}else{
//prüft die email
if(!preg_match("/^[^@\s<&>]+@([\w]+\.)+[a-z]{2,}$/i-", $_POST["email"])){
message('admin',"Die eingegebene email ist nicht korrekt! Klicken Sie <a href=\"javascript:history.back()\">hier</a>.");
exit();
}
$checkmaildb = "SELECT email FROM user WHERE email = '".mysql_real_escape_string($_POST['email'])."'";
$checkmaildb = mysql_query($checkmaildb);
if(mysql_num_rows($checkmaildb) == 0){
message('admin', "Diese Email ist nicht in unserer Datenbank. <br /> <a href=\"javascript:history.back()\">Zur&uuml;ck</a>");
exit();
}

$pattern = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789";
				for($i = 0; $i < 10; $i++){
					 $newpw .=$pattern[mt_rand(0,strlen($pattern))];
				}
$query = "UPDATE user SET password = '".md5($newpw)."' WHERE email = '".mysql_real_escape_string($_POST['email'])."';";
$query = mysql_query($query);
$message = "Hallo,

ihr neues Passwort bei ".$url." lautet: ".$newpw."


";
$header = 'From: info@xxx' . "\r\n" .
    'Reply-To: info@xxx' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
	
mail($_POST['email'], "New password!", $message, $header);
message('user', 'Ein neues Passwort wurde zu Ihrer Emailadresse gesendet!');
}

?>
Nun ist es so dass wenn ich eine Domain wie: ich@admin-php.de angebe, er das > - < minus Zeichen nicht erkennt und diese Email als unbekannt ausliesst.

Fehler:
Code:
Warning: preg_match() [function.preg-match]: Unknown modifier '-' in /home/www/web9/html/xxx/forgotpw.php on line 7
Kann mir jemand sagen wie ich da Abhilfe schaffen kann? Bin grad etwas am Rätseln
Mit Zitat antworten