промяна на емаил адрес

systems

Registered
Добър вечер опитвам се да направя една форма за промяна на емаил адрес но нещо не се получава идеята ми е в формата да се пише стар емаил и нов емаил но явно някъде бъркам защото ми изписва че е променило емаила на написания потребител и ми покзва
новия емаил но в базата с данни промяна няма там емаила си е същия без значение какъв емаил пиша въпроса ми е къде е грешката къде бъркам.

ето я и формата:
PHP:
<?php
echo '<form name="mail" method="POST">
  <span>Потребителско име:</span><br />
 <input type="text" class="txt" name="username" /><br /> 
 <span>Стар EMail:</span><br />
 <input type="text" class="txt" name="email" /><br />
<span>Нов EMail:</span><br /> 
<input type="text" class="txt" name="newmail" /><br />
 <input type="submit" name="mail" value="Промени емаил" />
 </form>';
 if($_POST['mail'])
 {
$email = addslashes(htmlspecialchars($_POST['email']));
$newmail=addslashes(htmlspecialchars($_POST['newemail']));
$nq = "UPDATE `users` SET email='$newmail' WHERE username' AND email='$email'";
$nr = mysql_query($nq);
echo "<div class='success'>Вие успешно променихте емаил адреса на потребител: $_POST[username] новия емаил е: $_POST[newmail].</div>";
}
?>
 
$nq = "UPDATE `users` SET email='$newmail' WHERE username = '$username' AND email='$email'";

Имаш грешка - WHERE username' AND - такова не може да има. Или махни username и остави само сравнение с $email, или сравни правилно username - както съм го направил горе :)
 
Благодаря много наистина е така като махнах username от заявката се получи.
 
Само че имай впредвид, че така всеки човек може да промени всеки имейл, стига да го знае. Препоръчвам ти да сложиш проверка дали потребителят, който променя мейла е същия, който е записан в базата данни.
 

Back
Горе