Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

PHP в примерах, просто о сложном


PHP в примерах
о сложном просто
...:::От себя :::...

Итак. Это 3 выпуск рассылки.
Меня долго не было, но сегодня когда я зашел на свою рассылку. Увидел что подписчиков уже под 300 мягко говоря я немного ошалел. Спаибо вам. Сегодня есть у меня 2 новости - плохая и хорошая.
Хорошая - моя рассылка переведена в серебряные.(раннее она была в разделе бронзовые)
Плохая    - увы, но о сайте поддержки можно на время забыть.

...:::Кратко о сегодняшнем:::...

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

...:::Надо знать::...

PHP поддерживает ряд функций для работы с Perl-совместимыми регулярными выражениями (PCRE - Perl Compatible Regular Expression). Такие выражения заключаются в ограничители, в качестве которых, как правило, используется прямой слеш:

/mail/
Это выражение соответствует строке, содержащей слово "mail".
За ограничителями могут следовать модификаторы, уточняющие регулярное выражение. Наиболее часто используют следующие модификаторы:

i -(Игнорировать регистр при поиске соответствия. Т. е. выражение "/mail/i" будет соответствовать как строке "MAIL", так и строке "mail".);
x -(Игнорировать пробельные символы).

Для PCRE-выражений характерно применение общих типов символов, которые аналогичны классам символов для регулярных выражений в стиле POSIX. Наиболее часто встречающиеся общие типы символов приведены ниже.

\d - соответствие десятичной цифре
\D - соответствие любому символу, за исключением десятичных цифр
\s - соответствие пробельным символам
\S - соответствие любым символам, кроме пробельных
\h - наличие границы слова
\B - отсутствие границы слова
\Z - конец строки или символ перевода конца строки
\A - начало строки

int preg_match (string pattern, string subject [, array matches])
Ищет соответсвтие регулярному выражению

Что сегодня?  

Как видите теорию я удалил из этой рассылке, ибо в данной теме это будет проще.

Самой актуальной задачей, является проверка введенного email пользователя.
В php уже за вас сделано регулярное выражение которое содержит в себе все доступные символы при введении мыла, а также конструкцию вводимого текста, к примеру во всех email есть символ “@”,который разделяет имя и имя сервера. Ну в общем смотрите

1)Проверка email

Все те символы которые мы бы писали объединены в одну строку вот она

“|[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z] {2,3}|i”

То есть пользователь может использовать любые символы в своем email,главное чтобы была собака иначе скрипт не состоится.
Думаю с первыми скобками понятно(проверка символов до и после “@”)Потом происходит проверка доменного имени.

2)Проверка имени пользователя

“|^[\w]+$|i” 

Это позволит водить только буквы

“|^[\w\d\s]+$|i” 

Буквы, числа пробелы
Давайте теперь по практикуемся.
В скором времени мы создадим гостевую. Нам понадобиться скрипт для добаления новых сообщений в гостевую(то что мы щас создадим еще доработаем)

Содайте 2 файла add.html и cod.php.
В первом файле давай напишем форму

<form action="cod.php" method="POST">

name<input type="TEXT" name="name"><br>

Email<input type="TEXT" name="email"><br>

<input type="submit" name="go"><br>

</form>

А во втором

<?php

1)$name = $_POST['name'];
2)$email= $_POST['email'];

3)if (!preg_match("|^[\w\d\s]+$|i",$name))

4)exit ("
Введите ваше имя");
5)if (!preg_match("|[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z] {2,3}|i",$email))

6)exit ("Ваше
email");

?>
1)и 2)-Тут мы извлекаем данные из супер глобального массива POST
3) и 5) если в введенной информации нету символом содержащихся в регулярном выржении но выводим  4) и 5)

 

Ну вот в принципе и все

...:::Вопросы:::...

re-Здравствуйте Уважаемый Антон. Я только начинаю свой путь в изучении PHP и вот что мне стало непонятно. как такое может быть:

$search = array(100,50,30,20,10);
if (in_array(40,$search))
echo "Найдено";
else echo "Нету такого";


Вывод Найдено
В массиве нет числа 40 так почему же вывод будет Найдено? Возможно это опечатка?
С Уважением Андрей.

Ответ
Я проверил.Но тут все правильно.Скрипт ищет то что надо,и отображает все как есть.Так что ошибки тут нету

re-Мне пришла просьба написать поисковик с использованием mysql

Ответ
Через рассылку я опишу возможности mysql.Скорре всего там и напишу скрипт поисковика.

...:::Для тех кто хочет к нам в команду:::...

Мне пришло много писем с просьбой о вступлении в команду сайта.Тут есть только одно правило-знание языка php.Для вступления в команду для дальнейшего сотрудничитства необходимо описать какой нибудь раздел php языка или пример скрипта нa php с подробным описанием и прислать его на мое мыло levis@mail.by.

Обязательства
1)Просто писать статьи
2)Когда я возобновлю сайт может понядобиться помощь.


В избранное