<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

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

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

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

Подписавшись по 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 таким форматом. И все это "засунуть" в собственно-ручно написанную функцию было бы шикарно.
Профиль Ответить