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

Создать профессиональный web-сайт - легко! (выпуск 11) - Гостевая книга (часть 2)


Информационный Канал Subscribe.Ru

Создать профессиональный web-сайт - легко!
Создать профессиональный web-сайт - легко!
или
все о PHP шаг за шагом.

     Сегодня в выпуске (N 11):
6 ноября 2004 года 
     ВНИМАНИЕ !!!
тираж выпуска: 3000 
- От автора (рекомендуется прочитать)
- Статья выпуска "Гостевая книга (чаcть 2) - Безопасность"
- Новое на форуме
       ∙ задать вопрос
- Автору


Сайт рассылки

- Поиск / Новости сайта
- Статьи
- Скачать
- Гостевая книга
- Форум
- Регистрация

Архив рассылки
     На сайте появился ПОИСКОВИК по сайтам web-програмирования и дизайна. Не верите? Заходите и смотрите! Подробнее >>

     Теперь зарегистрированные пользователи могут обсудить статью выпуска на Форуме, что даст возможность гораздо быстрее получить ответ на интересующий Вас вопрос. Если Вы еще не регистрировались, то Вам сюда.
     Новости
  5.11.04 Добавлен счечик посетителей на сайте рядом с логотипом.
  3.11.04 На сайте появился ПОИСКОВИК по сайтам web-програмирования и дизайна. Подробнее >>
  3.11.04 Добавлен авторский скрипт. Подробнее >>
  10.10.04 Обновился форум, улучшилась навигация, управление...
     От автора (рекомендуется прочитать):
Добрый день, уважаемые подписчики.

     В предыдущем выпуске я ошибся с указанием ссылки на страницу добавления своего сайта в БД поиска. Поэтому, если у Вас есть сайт тематики web-программирования или дизайна, Вы можете добавить его в Базу Данных поиска, что, вероятно, поможет в его раскрутке, а у пользователей поисковика будет больше результатов поиска. Все свои предложения и пожелания можете оставлять на форуме в разделе "По сайту".
     Статья выпуска "Гостевая книга (чаcть 2) - Безопасность":
     Предыдущая гостевая книга имела много недостатков. Один и которых - отсутствие проверки вводимой информации. Для каждого поля нужно сделать проверку; соответствует ли стандартам или оно вообще пустое. Чтобы было более понятно, например, поле емаил. Там должен быть такой вид name@email.ru. А человек введет "не скажу" (или того хуже, чего написать рука не поднимается), и программа слова не скажет и, не задумываясь запишет в файл. Вот так... Поэтому вооизбежании таких казусов и недоразумений, сделаем проверку, а что же ввели? С названиями городов, никами и сообщениями сложнее, а вот с адресом сайта и e-mail'ом легко. Для этого создадим 2 функции. А потом будем их просто вызывать в нужный нам момент. Функция - это часть кода, которая отделяется от основной части и выполняется независимо отдельно, вызывается из нее, и возвращает результат работы. Своего рода это программа в программе. Для многих это кажется новым, хотя при создании программ люди даже не задумываясь используют множество функций. Например, $name = str_replace("a", "", $old_name); передаст значение пер. $name обработанное знаачение $old_name (уберет все буквы "a"). Но это стандартная функция, а мы создадим свою, которая будет также вызываться, но в отличии от предыдущей ее задачей будет проверить то, что мы ввели - это e-mail или нет. Создаем функцию по следующей конструкции:

function имя функции (передаваемые ей переменные){
тело функции
return результат работы;
}


Создаем:

function is_email($email){ // функция с именем is_email, передаваемые ей перем.: $email.
if($email == "") return "не указан"; // если ничего не ввели, иначе:
if(!(ereg("@", $email) && ereg("\.", $email))) {echo "Ошибка: это не email!<br><br>"; return "it_is_not_email"; } // если не соответствует стандарту, возвращаем ошибку.
else return $email;
}


Аналогично проверим адрес сайта:

function is_url($url){ // функция с именем is_url, передаваемые ей перем.: $url.
if($url == "") return "не указан"; // если ничего не ввели, иначе:
if(!(ereg("\.", $url) && ereg("http://", $url) && ereg("/", str_replace("http://" , "", $url)))) {echo "Ошибка: это не адрес сайта!<br><br>"; return "it_is_not_url"; } // если не соответствует стандарту, возвращаем ошибку.
else return $url;
}


3-я функция, предназначенная для отсальных полей, уберет все недопустимые символы и заменит некоторые не их html-код. Назовем ее cutty:

function cutty ($string)
{
$string = str_replace ("\\", "⁄", $string);
$string = str_replace ("/", "⁄", $string);
$string = str_replace ("<", "<", $string);
$string = str_replace (">", ">", $string);
$string = ereg_replace ('"', """, $string);
$string = ereg_replace ("'", """, $string);
$string = str_replace (":", ":", $string);
$string = str_replace ("\r", "", $string);
$string = str_replace ("\n", "<br>", $string);
$string = str_replace ("^ +", "", $string);
$string = str_replace (" +$", "", $string);
$string = str_replace (" +", " ", $string);
$string = str_replace ("|", "1", $string);
return ($string);
}


А теперь только остается вызвать их. Для экономии времени я возьму лишь кусок записи из предыдущей статьи "Гостевая книга":

if($name != "" & $message != ""){
$email = is_email($email); // проверяем это e-mail
$html = is_url($html); // проверяем это url
$name = cutty($name); // удаляем ненужное
$city = cutty($city);
$message = cutty($message);
if($email != "it_is_not_email"){ // если нет ошибки
if($html != "it_is_not_url"){ // если нет ошибки
$file=fopen("guestbook.dat", "a+");
fputs($file, "$name|$email|$city|$html|$message|\n");
fclose($file);
}
}
}else echo "<center>Не все поля с * заполнены.</center>";


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


Статью подготовил Ястребов Сергей.

Копирование информации возможно только с согласием автора с обязательным указыванием ссылки на сайт.

...наверх...
     Новое на форуме:
Раздел пуст!
     Проявите свою активность, ведь теперь Вам не придется ждать пока опубликуется Ваш вопрос в следующем выпуске, к тому же более высок шанс, что на него ответят.

...наверх...
     Автору:
      Если Вы - опытный веб-дизайнер или вам есть, что сказать читателям, то присылайте Ваши статьи по адресу about-php@mail.ru. Тема author. Ваши статьи будут опубликованы в близжайших выпусках рассылки (если, конечно, они будут содержать полезную информацию о веб-дизайне). В письме должны быть статья, ее название и контактная информация о авторе (имя и e-mail (например, с которого отправлено письмо) обязательно). Также Вы можете стать ведущими рассылки. Для этого отправьте письмо на этот же e-mail с той же темой, указав контактную информацию и тематику ваших статей.

     Возможно, подписываясь на эту рассылку, Вы уже имели опыт работы с PHP и создали какие-нибудь скрипты. Поэтому, если у Вас есть полезный скрипт для сайта, написанный на PHP, присылайте его мне на e-mail about-php@mail.ru с темой script. Он обязательно появится в этой рассылке и разделе "Скачать" с контактной информацией автора.

Скрипты пользователей:

1. random.rar прислал Фёдоров Александр описание:

Случайный вывод информации (картинок, ссылок, текста) на страницу.


...наверх...
Рассылку подготовил, Ястребов Сергей.
Сайт рассылки http://www.about-php.fatal.ru/.

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: inet.webbuild.aboutphp
Отписаться

В избранное