Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: серверная проверка данных
 
 автор: NoCash   (06.04.2010 в 11:12)   письмо автору
 
 

проверяю телефон на правльность

 function gnl_phone(&$val)
{
return preg_match("/(?:8|\+7)? ?\(?(\d{3})\)? ?(\d{3})[ -]?(\d{2})[ -]?(\d{2})/", $val));
}

а так проверяю мыло
function gnl_email(&$val)
    {
       return preg_match("/^[a-z0-9_.-]+@([a-z0-9_]+.)+[a-z]{2,4}$/i", $val);
         }

а можно как нибудь обьяденить эти условия что бы если в поле введен телефон то проверка на мыло не выполнялось и наоборот?

  Ответить  
 
 автор: class   (06.04.2010 в 11:43)   письмо автору
 
   для: NoCash   (06.04.2010 в 11:12)
 

Используйте if, else

  Ответить  
 
 автор: NoCash   (06.04.2010 в 12:10)   письмо автору
 
   для: class   (06.04.2010 в 11:43)
 

делаю вот так
  function gnl_phone(&$val)
  {
 if (!preg_match("/^[a-z0-9_.-]+@([a-z0-9_]+.)+[a-z]{2,4}$/i", $val))
{
    return preg_match("/(?:8|\+7)? ?\(?(\d{3})\)? ?(\d{3})[ -]?(\d{2})[ -]?(\d{2})/", $val);
}
else
    return true;
}

если введен номер телефона а мыла нет то все хорошо но если вводим мыло а телефон нет то вылазит сообщение что телефон не введен

  Ответить  
 
 автор: Лена   (06.04.2010 в 12:15)   письмо автору
 
   для: NoCash   (06.04.2010 в 12:10)
 


<?php
if(isset($phone))
//если из поля для телефона пришло значение, 
//вызываем соответствующую функцию
gnl_phone($phone);
elseif(isset(
$email)) 
//если пришел email
gnl_email($email); 
?>

  Ответить  
 
 автор: NoCash   (06.04.2010 в 13:04)   письмо автору
 
   для: Лена   (06.04.2010 в 12:15)
 

в вашем случае к сожалению ругается на elseif(((((

  Ответить  
 
 автор: NoCash   (06.04.2010 в 12:49)   письмо автору
 
   для: NoCash   (06.04.2010 в 12:10)
 

выкупил что этот код проверят и мыло и телефон только проверяет все в одном поле а мне нужно в отдельных

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования