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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Валидация email

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
egor2010
Отправлено: 05 Февраля, 2015 - 17:51:48
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Добрый день,почему не работает валидация email?
Заранее спасибо.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require_once("db_connect.php");//подключение к базе
  3. class registration{
  4.         var $email;
  5.         var $password;
  6.         var $password2;
  7.         var $first_name;
  8.         var $last_name;
  9.         function email(){
  10.                 if(empty($this->email)){
  11.                 echo"<br>Enter your login!";
  12.                 }
  13.                 elseif(!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/",$this->email)){
  14.                 echo"<br>E-mail has an invalid format!";
  15.                 }
  16.                 $query="SELECT `id` FROM `users` where email='.$this->email.'";
  17.                 $result=mysql_query($query);
  18.                 elseif(mysql_num_rows($result) > 0){
  19.                 echo "<br>This email is registered!";
  20.                 }
  21.                 else{
  22.                 echo "ok!";
  23.                 }
  24.         }
  25. }
  26. $object = new registration;
  27. $object->email = $_POST['email'];
  28. $object->password = $_POST['password'];
  29. $object->password2 = $_POST['password2'];
  30. $object->first_name = $_POST['first_name'];
  31. $object->last_name = $_POST['last_name'];
  32. $object->email();
  33. ?>

(Отредактировано автором: 06 Февраля, 2015 - 15:32:48)

 
 Top
3d_killer
Отправлено: 05 Февраля, 2015 - 18:46:02
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




а как вы думаете ваш экземпляр класса подключение к БД вообще видит?
 
My status
 Top
egor2010
Отправлено: 06 Февраля, 2015 - 09:34:44
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Вот код db_connect
PHP:
скопировать код в буфер обмена
  1.  
  2. class db{
  3.         var $dbhost;
  4.         var $dbuser;
  5.         var $dbpass;
  6.         var $dbname;
  7.         function db_connect() {
  8.                 mysql_connect("$this->dbhost","$this->dbuser","$this->dbpass");
  9.                 }
  10.         function db_select(){
  11.                 mysql_select_db ("$this->dbname");
  12.         }
  13. }
  14. $object = new db;
  15. $object->dbhost = "";
  16. $object->dbuser = "";
  17. $object->dbpass = "";
  18. $object->dbname = "";
  19. $object->db_connect();
  20. $object->db_select();
  21.  

Вроде видит,я новичок в программирование с ооп, по этому могу ошибаться.
 
 Top
3d_killer
Отправлено: 06 Февраля, 2015 - 13:31:12
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




вот этот экземпляр $object = new db; тот класс ваш не видит, сами писали?
(Добавление)
кстати функции работы с бд которые вы используете устарели
 
My status
 Top
RickMan
Отправлено: 06 Февраля, 2015 - 13:36:27
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Для валидации правильности email'а используйте это: http://php.net/manual/ru/filter....s.validation.php а не регулярку.
 
 Top
GoDr
Отправлено: 06 Февраля, 2015 - 13:45:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Я вообще не понимаю зачем делать валидацию адреса почты. Абсолютно не нужная вещь. Тем более приведённая в примере регулярка самая примитивная и не соответствует rfc2822
Например, адрес kva\@kva@mail.ru валидацию не пройдёт, хотя он правильный Закатив глазки

(Отредактировано автором: 06 Февраля, 2015 - 13:45:26)



-----
Система управления веб-содержимым Lotos CMS
 
 Top
egor2010
Отправлено: 06 Февраля, 2015 - 13:50:25
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




3d_killer а что надо исправить ?
RickMan спасибо за совет

(Отредактировано автором: 06 Февраля, 2015 - 13:51:31)

 
 Top
GoDr
Отправлено: 06 Февраля, 2015 - 14:00:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Цитата:
...mysql_connect...
...mysql_select_db....

Цитата:
Данное расширение устарело, начиная с версии PHP 5.5.0, и будет удалено в будущем. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API и соответствующий FAQ для получения более подробной информации. Альтернативы для данной функции:
mysqli_select_db()
PDO::__construct() (раздел о dsn)
mysqli_connect()
PDO::__construct()


-----
Система управления веб-содержимым Lotos CMS
 
 Top
3d_killer
Отправлено: 06 Февраля, 2015 - 14:00:54
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




GoDr, согласен, если активация сделана по email, то указав неверное мыло подтвердить регистрацию не удастся и следовательно войти, а по крону допустим через 2-3 дня удалять не активированные аккаунты да и все.
 
My status
 Top
egor2010
Отправлено: 06 Февраля, 2015 - 14:13:21
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




GoDr переделаю
Так что мне исправить чтобы все работало?

(Отредактировано автором: 07 Февраля, 2015 - 03:49:02)

 
 Top
egor2010
Отправлено: 07 Февраля, 2015 - 03:51:26
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




все исправил, работает.

(Отредактировано автором: 07 Февраля, 2015 - 07:29:03)

 
 Top
skiphog
Отправлено: 07 Февраля, 2015 - 08:03:40
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014  
Откуда: Киров, Россия


Помог: 11 раз(а)




3d_killer пишет:
GoDr, согласен, если активация сделана по email, то указав неверное мыло подтвердить регистрацию не удастся и следовательно войти, а по крону допустим через 2-3 дня удалять не активированные аккаунты да и все.


Весьма спорный момент.

Человек может ошибиться в адресе непреднамеренно и ждать письмо на активацию. Естественно никакого письма ему не придет. Человек подумает, что регистрация попросту не работает.

Какова вероятность, что он вернется к вам на сайт?
 
My status
 Top
3d_killer
Отправлено: 08 Февраля, 2015 - 16:14:23
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




skiphog
в основном в регистрации идет email и подтверждение email, если пользователь настолько туп что введет 2 раза не правильно то он не нужен мне на сайте
 
My status
 Top
GoDr
Отправлено: 09 Февраля, 2015 - 07:24:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




skiphog пишет:
Человек может ошибиться в адресе непреднамеренно и ждать письмо на активацию.
и как это связано с валидацией? Улыбка
Цитата:
mail@mail.ru
mail@mail.ri
mail@mail.ry
mail@maiil.ru


-----
Система управления веб-содержимым Lotos CMS
 
 Top
skiphog
Отправлено: 09 Февраля, 2015 - 07:35:09
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Дек. 2014  
Откуда: Киров, Россия


Помог: 11 раз(а)




GoDr пишет:
и как это связано с валидацией?

Ну зачем же сразу рубить с плеча. Идеала нет конечно.

Но, если есть, хоть какая-то, маломальская возможность подсказать пользователю, что он ошибся, то лучше это сделать Улыбка
 
My status
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB