PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : E-Mail Syntax Fehler (Userprofil)



rene_1992
13.05.2013, 22:25
Vms: 1.2.4

Habe Heute weiter gearbeitet an meiner Seite und habe das Problem wenn ich was im Userprofil ändern möchte kommt der Fehler: Der Emailsyntax ist falsch!

Habe leider in der Suche nix gefunden, wo könnte der Fehler liegen?

Userprofil: (Datenbank Abfagen + Verarbeitung)


<?
userstatus();
// Variabeln definieren
if (!isset($_POST['aendern'])) $_POST['aendern'] = "";
if (!isset($_POST['acc_del'])) $_POST['acc_del'] = "";
if (!isset($_POST['del_passwort'])) $_POST['del_passwort'] = "";
if (!isset($_POST['pwd'])) $_POST['pwd'] = "";
if (!isset($_POST['pwd2'])) $_POST['pwd2'] = "";
if (!isset($_POST['nickname'])) $_POST['nickname'] = "";
if (!isset($_POST['newsletter'])) $_POST['newsletter'] = "";
if (!isset($_POST['paidmails'])) $_POST['paidmails'] = "";
if (!isset($change)) $change = "";
if (!isset($mailstatus)) $mailstatus = "";
if (!isset($delchange)) $delchange = "";

if ($_POST['acc_del'] == 'Jetzt löschen!' && $_POST['del_passwort']) {
$schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Userinfo");
@require_once ("lib/schnittstellen/".$schnittstelle['schnittstelle'].".php");
@uservalidate ($schnittstelle['betreiber_id'],$schnittstelle['betreiber_passwort'],$_SESSION['uid'],$_POST['del_passwort']);
if ($error) {
$delchange = $trans_ausgabe.'<br>';
} else {
$sperrzeit = time()+(86400*30);
db_query("INSERT INTO ".$db_prefix."_userblacklist (uid,zeit) VALUES ('".$_SESSION['uid']."','".$sperrzeit."')");
db_query("DELETE FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']."");
db_query("DELETE FROM ".$db_prefix."_emaildaten WHERE uid=".$_SESSION['uid']."");

db_query("DELETE FROM ".$db_prefix."_userdaten WHERE uid=".$_SESSION['uid']."");
db_query("DELETE FROM ".$db_prefix."_werberdaten WHERE uid=".$_SESSION['uid']."");
db_query("UPDATE ".$db_prefix."_werberdaten SET werber = 0 WHERE werber=".$_SESSION['uid']."");
echo '<meta http-equiv="refresh" content="0; URL=http://'.$_SERVER['HTTP_HOST'].'/?content=/intern/startseite&logout=true">';
}

}

if ($_POST['aendern'] == 'Jetzt ändern!') {
// Passwort ändern beginn!
if ($_POST['pwd'] && $_POST['pwd2']) {
if ($_POST['pwd'] == $_POST['pwd2']) {
if (strlen($_POST['pwd']) >= 8) {
db_query("UPDATE ".$db_prefix."_kontodaten SET passwort = '".md5($_POST['pwd'])."' WHERE uid=".$_SESSION['uid']."");
echo '<meta http-equiv="refresh" content="0; URL=http://'.$_SERVER['HTTP_HOST'].'/?content=/intern/startseite&logout=true">';
//$change .= 'Das Passwort wurde geändert!<br><b><font color="#FF0000">Bitte logge Dich jetzt aus und wieder neu ein!</font></b><br>';
} else {
$change = 'Passwörter müssen min. 8 Zeichen haben!';
}
} else {
$change = 'Die Passwörter stimmen nicht überein!';
}
}
// Passwort ändern ende!

//Nickname ändern beginn !


if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse']))
{
$change .= 'Der Emailsyntax ist falsch!<br>';
}
else
{
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 0) $mailstatus = 0;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 0) $mailstatus = 1;
if ($_POST['newsletter'] == 0 and $_POST['paidmails'] == 1) $mailstatus = 2;
if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3;
$_POST['max_forced'] = (int)$_POST['max_forced'];
if($_POST['max_forced'] > 30){$_POST['max_forced'] = 30;}
if($_POST['max_forced'] < 5){$_POST['max_forced'] = 5;}
db_query("UPDATE ".$db_prefix."_emaildaten SET freigabe_fuer = ".$mailstatus.", emailadresse = '".$_POST['emailadresse']."' WHERE uid=".$_SESSION['uid']."");
db_query("UPDATE ".$db_prefix."_userdaten SET sort = '".$_POST['sort']."', art = '".$_POST['art']."' WHERE uid=".$_SESSION['uid']."");
db_query("UPDATE ".$db_prefix."_userdaten SET max_forced = '".$_POST['max_forced']."' WHERE uid=".$_SESSION['uid']."");
$change .= 'Deine Daten wurden aktualisiert!<br>';

}

}


$info = mysql_fetch_array(db_query("SELECT u.*,e.emailadresse,e.freigabe_fuer FROM
".$db_prefix."_userdaten AS u
LEFT JOIN ".$db_prefix."_emaildaten AS e ON e.uid=u.uid
WHERE u.uid=".$_SESSION['uid']." LIMIT 1"));


if ($info['freigabe_fuer'] == 0) {$newsletter = 0; $paidmails = 0;}
if ($info['freigabe_fuer'] == 1) {$newsletter = 1; $paidmails = 0;}
if ($info['freigabe_fuer'] == 2) {$newsletter = 0; $paidmails = 1;}
if ($info['freigabe_fuer'] == 3) {$newsletter = 1; $paidmails = 1;}
?>

DjBusti
13.05.2013, 22:57
Es ist folgende if-anfrage:


if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse']))
{
$change .= 'Der Emailsyntax ist falsch!<br>';
} ...

Mit welcher E-Mailadresse hast du es dann geprüft?

rene_1992
14.05.2013, 01:57
Es ist folgende if-anfrage:


if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse']))
{
$change .= 'Der Emailsyntax ist falsch!<br>';
} ...

Mit welcher E-Mailadresse hast du es dann geprüft?

Habe eine T-Online e-mail adresse drinne stehen (rene.roebel@t-online.de)

DjBusti
14.05.2013, 07:21
Habe eine T-Online e-mail adresse drinne stehen (rene.roebel@t-online.de)

Kann es sein, dass du teile der E-Mailadresse groß geschrieben hattest?

Probiere es ggf. mit folgendem Code:

if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse']))
{
$change .= 'Der Emailsyntax ist falsch!<br>';
} ...

Lokutos
14.05.2013, 17:57
ansonnsten alternative:



if(!filter_var($_POST['emailadresse'], FILTER_VALIDATE_EMAIL))
{
$change .= 'Der Emailsyntax ist falsch!<br>';
}