Moin,
ich habe zwei kleine Probleme und es wäre toll wenn ihr mir helfen könnt!
1. Fehler wird bei laden der Seite angezeigt (beide) sollen sie aber nur wenn das Formular abgeschickt wurde und wirklich ein Fehler da ist!
2.Nach Änderung der Email-Adresse soll in der Variable im Formular auch die neue Email aus der DB angezeigt werden!
Hier der Code
1.Formular
PHP-Code:
$content .= '<h3>E-Mail-Adresse ändern</h3>
<form action="index.php?page=profil" method="post">
Neue E-Mail-Adresse wird erst nach neu laden der Seite richtig angezeigt!<br>
<br>
Alte E-Mail-Adresse:
<input type="text" name="old_mail" size="25" value="'.$defaultmail.'" readonly=""><br>
Neue E-Mail-Adresse:
<input type="text" name="new_mail" size="25" value=""><br>
<input type="submit" name="save" value="Speichern"/>';
2.MYSQL auslesen
PHP-Code:
# MySQL-Connect für $defaultmail
include('../../classes/db_class.php');
$db = new db_class;
$sql = 'SELECT email FROM `user` WHERE id="'.$uc->userid.'"';
$db->query($sql);
$data = $db->fetch();
$defaultmail = $data['email'];
if(empty($defaultmail))
$defaultmail = "Keine E-Mail-Adresse gefunden";
3. E-Mail in DB ändern!
PHP-Code:
if(!empty($_POST['new_mail']) && !empty($_POST['save_mail']));
{
$error_msg = '';
$error = false;
$oldmail = $_POST['old_mail'];
$newmail = $_POST['new_mail'];
$sql = 'SELECT email FROM `user` WHERE email="'.$newmail.'";';
$db->query($sql);
if($db->rows)
{
$error_msg .= 'E-Mail-Adresse schon vergeben.<br>';
$error = true;
}
if(empty($_POST['new_mail']))
{
$error_msg .= 'Die neue E-Mail-Adresse ist dieselbe oder das Feld ist leer!<br />';
$error = true;
}
if($error)
{
$content .= error($error_msg);
}
else
{
$sql = 'UPDATE `user` SET email="'.$newmail.'" WHERE id="'.$uc->userid.'";';
$db->query($sql);
$newmail = $defaultmail;
$content .= ok('E-Mail-Adresse erfolgreich geändert!');
}
}