Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: проверка паролей
Форумы портала PHP.SU » » Вопросы новичков » проверка паролей

Страниц (1): [1]
 

1. юрьич - 11 Сентября, 2012 - 18:36:15 - перейти к сообщению
Здравствуйте.Есть рабочий скрипт регистрации,но в нём не было проверки повтора пароля.Решил вставить.И что то не так делаю.Постоянно выдаёт сообщение о несовпадении паролей.Взгляните и подскажите.пожалуйста,что я не так делаю.Вот часть скрипта:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  
  4.  //заносим введенный пользователем текст в переменную $x, если он пустой, то уничтожаем переменную
  5. $sees = (isset($_POST['sees'])) ? $_POST['sees'] : ''; // если переменная $_POST['sees'] задана, то используем её. Если не задана, то присваиваем пустую строку  
  6. $teep_pc = (isset($_POST['teep_pc'])) ? $_POST['teep_pc'] : '';
  7. $mather = (isset($_POST['mather'])) ? $_POST['mather'] : '';
  8. $hd = (isset($_POST['hd'])) ? $_POST['hd'] : '';
  9. $member = (isset($_POST['member'])) ? $_POST['member'] : '';
  10. $block = (isset($_POST['block'])) ? $_POST['block'] : '';
  11. $disp = (isset($_POST['disp'])) ? $_POST['disp'] : '';
  12.  
  13. if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
  14. if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
  15. if (isset($_POST['rpassword'])) { $rpassword=$_POST['rpassword']; if ($rpassword =='') { unset($rpassword);} }
  16.  
  17. //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
  18. if (isset($_POST['code'])) { $code = $_POST['code']; if ($code == '') { unset($code);} } //заносим введенный пользователем защитный код в переменную $code, если он пустой, то уничтожаем переменную
  19.  
  20. if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') { unset($email);} } //заносим введенный пользователем e-mail, если он пустой, то уничтожаем переменную
  21.  
  22.  
  23. if (empty($login) or empty($password)or empty($code) or empty($email)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
  24. {
  25. exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); //останавливаем выполнение сценариев
  26. }
  27. if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)) //проверка е-mail адреса регулярными выражениями на корректность
  28. {exit ("Неверно введен е-mail!");}
  29.  
  30. if($_POST['rpassowrd']!== $_POST['password'])
  31. {
  32. exit("Пароли не совпадают!");
  33. }
  34. //запускаем функцию, генерирующую код
2. KingStar - 11 Сентября, 2012 - 19:14:04 - перейти к сообщению
0. проверь имена name в полях
1. попробуй

PHP:
скопировать код в буфер обмена
  1. $_POST['rpassowrd'] != $_POST['password']
3. юрьич - 11 Сентября, 2012 - 19:53:12 - перейти к сообщению
Имена уже 10раз проверил.Твой вариант не понял,это что неравенство задать?
4. Bio man - 11 Сентября, 2012 - 20:18:48 - перейти к сообщению
О боже, может хватит клепать "повтовы"? то пароль то емайл просят повторить, что за бред? Если пользователь и ошибся то пароль легко восстановить с помощью "Восстановления пароля". Я призываю отказаться от этой глупости и больше никогда не делать повторов.
Вон твитер давно чухнул тему и молодец
(Добавление)
Хорошо что при авторизации нету проверки паролей Радость
5. юрьич - 11 Сентября, 2012 - 20:54:16 - перейти к сообщению
Возможно Вы и правы,но в данном случае это не поможет найти ошибку,а сей процесс это один из способов познания.Хотя думаю,что Вы и здесь что нибудь ответите.
6. likvidator - 11 Сентября, 2012 - 21:01:38 - перейти к сообщению
KingStar пишет:
PHP:
скопировать код в буфер обмена
  1. $_POST['rpassowrd'] != $_POST['password']
должно работать!
7. Bio man - 11 Сентября, 2012 - 21:10:02 - перейти к сообщению
во первых читаем http://phpfaq[dot]ru/debug для познания. Если ничего не получится то приведи в порядок код и запости сюда. Щас код имхо, не читабельный.
8. KingStar - 11 Сентября, 2012 - 21:18:53 - перейти к сообщению
юрьич пишет:
Твой вариант не понял,это что неравенство задать?


PHP:
скопировать код в буфер обмена
  1. if($_POST['rpassowrd'] != $_POST['password'])
  2. {
  3. exit("Пароли не совпадают!");
  4. }
9. Bio man - 11 Сентября, 2012 - 21:57:03 - перейти к сообщению
KingStar, врятле 2 строки будут отличатся по типу Хм . Там надо глубже копать, то есть выше смотреть
10. likvidator - 12 Сентября, 2012 - 06:04:36 - перейти к сообщению
Bio man пишет:
KingStar, врятле 2 строки будут отличатся по типу Хм . Там надо глубже копать, то есть выше смотреть

туда лучше не смотреть,страшно)))))

 

Powered by ExBB FM 1.0 RC1