live Uucyc
29.10.2009 - 13:05
Как и обещал..появились вопросы..
Делаю авторизацию с помощью аякса. При вводе емейла должна появиться строка для подтверждения его.
Структура такая
PHP |
echo '<tr><td>е-mail</td><td><input name="mail" type="text" size="25" maxlength="40" value="'.htmlspecialchars($mail).'" onblur="contuser(this.value, this.name)" /><span id="dyvmail"></span></td></tr>'; echo '<span id="dyvmail1"></span>'; |
в первом
PHP |
<span id="dyvmail"></span> |
должно высветится правильно ли введен емейл, а во 2-ом
PHP |
<span id="dyvmail1"></span> |
новое поле для подтверждения.
Код обработчика
PHP |
if (!empty($_POST['mail'])) { /*проверяем или введен был адрес почты*/ $mail1 = mysql_real_escape_string(trim($_POST['mail'])); /*проверяем или данный адрес есть в БД*/ $resultdb = mysql_query("SELECT * FROM users WHERE mail='$mail'"); if (mysql_fetch_array($resultdb)) echo 'Пользователь с таким адрес существует'; else { if (!preg_match('#[0-9a-z-_]+@[0-9a-z-^\.]+\.[a-z]{2,4}#i', $mail)) echo '<tr><td">повторите</td><td><input name="mail2" type="text" size="25" maxlength="40" value="'.htmlspecialchars($mail2).'" onblur="contuser(this.value, this.name)" /><span id="dyvmail2"></span></td></tr>'; else echo 'Веденное значение не является e-mail адресом'; } } else echo 'Введите e-mail'; |
Но проблема в том, что необходимо указать, что строка
PHP |
echo '<tr><td">повторите</td><td><input name="mail2" type="text" size="25" maxlength="40" value="'.htmlspecialchars($mail2).'" onblur="contuser(this.value, this.name)" /><span id="dyvmail2"></span></td></tr>'; |
должна выводиться не в
<span id="dyvmail"></span>, а в
<span id="dyvmail1"></span>.
Как заставить аякс это сделать?
PS..уточну, что я хочу добиться, чтобы
<span id="dyvmail"></span> вывело в одной строке с инпутом 1-го емейла, а
<span id="dyvmail1"></span> в другой строке
Спустя 40 минут, 58 секунд (29.10.2009 - 12:46) twin написал(а):
Нужно собрать данные в массив и передать его в JSON к примеру. Или xml. Или просто собрать в строку через разделитель(не лучший вариант). А на клиенте ужо разобрать и разложить по полочкам.
Спустя 6 часов, 7 минут, 5 секунд (29.10.2009 - 18:53) live Uucyc написал(а):
это все хорошо....простое echo я принимаю responseText. а как аяксом принять переменную???
Спустя 1 час, 45 минут, 59 секунд (29.10.2009 - 20:39) live Uucyc написал(а):
новая проблема...при вводе подтверждения емейла, как вместе со 2-ым передать и первый??
PHP |
echo '<tr><td>е-mail</td><td><input name="mail1" type="text" size="25" maxlength="40" value="'.htmlspecialchars($mail1).'" onblur="contuser(this.value, this.name)" /></td></tr>'; echo '<tr><td>подтвердите</td><td><input name="mail2" type="text" size="25" maxlength="40" value="'.htmlspecialchars($mail2).'" onblur="contuser(this.value, this.name)" /></td></tr>'; |
Спустя 2 дня, 4 часа, 40 минут, 49 секунд (1.11.2009 - 01:19) live Uucyc написал(а):
отвечаю на свой вопрос..все на самом деле проще..при проверке 1 емейла вносить его в сессию...а при проверке 2-го смотреть или есть переменная и сравнить ее со 2-ым
_____________
Пусть хвалит тебя другой, а не уста твои, - чужой, а не язык твой.