<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру

PHP и MySQL с Нуля до Гуру

Данный курс - это более 20-ти часов видеоуроков по изучению PHP и MySQL. Ключевой момент курса - это создание движка для сайта с нуля. Каждая строчка комментируется. Практически для каждого урока имеются упражнения. Причём данные упражнения направлены не только на закрепление материала, но и на реализацию реальных задач, встающих перед Web-разработчиками при создании сайтов. После курса Вы сможете без проблем создавать движки для любых сайтов.

Также почти к каждому уроку идут упражнения для закрепления материала.

Просмотрев курс и выполнив упражнения, Вы сможете без проблем создавать функциональные движки для самых различных сайтов.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

PHP Скрипт обработки номера телефона
17.11.2013 01:26:42 PHP Скрипт обработки номера телефона Сообщение #1
SinnDromm

SinnDromm

Новичок

Новичок

Дата регистрации:
23.07.2013 22:46:56

Сообщений: 1

Здраствуте Михаил.Такой вопрос:Написал небольшой PHP скрипт-обработчик HTML формы и все вроде нормально но не работает проверка номера телефона(тоесть если в поле ничего не вводить то он срабатывает а если ввести какие-то буковки то выдает что все хорошо.(а нужно сделать так,чтоб принимал именно корректный номер телефона и отвергал прочие буквы и символы.)).Посмотрите пожалусто на него и скажите в чем причина Вот собственно этот скрипт
<?php

/*echo $_REQUEST['name']."<br>";
echo $_REQUEST['email']."<br>";
echo $_REQUEST['phone']."<br>";
*/
$name = htmlspecialchars($_POST["name"]);
$email = htmlspecialchars($_POST["email"]);
$phone = htmlspecialchars($_POST["phone"]);

$myemail = "test@mail";

$name = check_input($_POST["name"], "Введите ваше имя!";
$email = check_input($_POST["email"], "Введите ваш e-mail!";
$phone = check_input($_POST["phone"], "Номер не существует!";

if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
if (!preg_match("/((0|\+3)-?)?\(?\d{3,5}\)?-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}((-?\d{1})?-?\d{1})?/", $phone)
{
show_error("<br /> Е-mail адрес не существует";
show_error("<br /> Номер не существует";
}

$message_to_myemail = "Здравствуйте!
Вашей контактной формой было отправлено сообщение!
Имя отправителя: $name
E-mail: $email
Телефон: $phone
Конец";

$from = "From: $name <$email> \r\n Reply-To: $email \r\n";
mail($myemail, $tema, $message_to_myemail, $from);
?>
<p>Спасибо Ваша заявка принята!</p>
<p>Вернуться На Предыдущую<a href="index.html">Страницу >>></a></p>
<?php
function check_input($data, $problem = ""
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>
<html>
<body>
<p>Пожалуйста исправьте следующую ошибку:</p>
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
?>
Профиль Ответить
17.11.2013 01:42:12 PHP Скрипт обработки номера телефона Сообщение #2
alexandrdante

alexandrdante

Модератор

Модератор

Дата регистрации:
15.11.2013 15:33:40

Сообщений: 207

какая-то у Вас длинная проверка.

Почему бы не делать вот так?

<?php
if(!preg_match("|^\([0-9]{3}\)[\s][0-9]{3}[-][0-9]{2}[-][0-9]{2}$|",$phone)) exit("Это не номер телефона";
?>


Это ввод номера с дефисами,как видете.Проверяет ещё и на формат.

Можно просто цифры.
<?php
if(!preg_match("|^[0-9]+$|",$icq)) exit("Это не номер телефона";
?>

Например так.



Или же вообще вот так:

$text = 'tel';

if(!preg_match('|^[0-9]+$|i', $tel))
{
echo 'Номер телефона верный илиже переадресовывать на функцию';
}
else
{
echo 'Вы неверно ввели номер телефона';
}



Посмотреть примеры реализации функции preg_match() можно тут:http://htmlweb.ru/php/example/preg.php


Что касается проверки е-мейла,то есть очень интересное свойство PHP именно для данного действия:
Например так:
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
{

}
Профиль Ответить
11.12.2013 09:00:50 PHP Скрипт обработки номера телефона Сообщение #3
Error 404

Error 404

Продвинутый

Продвинутый

Дата регистрации:
28.07.2013 16:04:47

Сообщений: 48

1.Хотя я и не плохо знаю регулярные выражения, но для таких целей я бы пользовался встроенными функциями.Например функция is_integer($n) либо is_numeric($n) для проверки на целостное число
2. И если бы мне понадобилось конкретная длина телефона, то использовал бы еще функцию strlen($n).
3. А потом, вдруг мне бы еще захотелось чтобы простой номер, например 79145557677 выглядел бы в более в красочном, читабельном варианте, то и тогда бы я воспользовался к примеру этим $number_phone = $n{0}."(".$n{1}$n{2}$n{3}."".$n{4}$n{5}$n{6}."-".$n{7}$n{8}."-".$n{9}$n{10} для отображения 7(914)555-76-77 таким форматом. И все это "засунуть" в собственно-ручно написанную функцию было бы шикарно.
Профиль Ответить