Топ контрибуторов
loading
loading
Знаете ли Вы, что

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

Лента обновлений
ссылка 17:56:54
Комментарий от annivel:
структура цикла такова, что она поделена на три части. П...
ссылка Sep 22 21:44
Добавлен вопрос в тест C# - Средний уровень
ссылка Sep 22 15:40
Комментарий от lyahasik:
почему 4 строка верна?
переменная типа структуры не был...
ссылка Sep 22 11:25
Комментарий от atlantahawk:
для джунов самое то. на OCA такие вопросики и дают
ссылка Sep 21 21:18
Комментарий от iBromberg:
У Вас <iostream> украли.
Статистика

Тестов: 153, вопросов: 8596. Пройдено: 468791 / 2287060.

Простейшая форма на HTML+PHP

head tail Статья
категория
PHP
дата19.03.2012
авторansolomatin
голосов16

Итак, для начала создадим форму на HTML, в поля которой посетитель будет вводить данные. Для примера будем использовать 3 поля: Имя, E-mail и Сообщение.

Содержимое файла "index.html":


<html>
<body>

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

<p>Имя: </p>
<p> <input type= "text" name= "name"> </p>

<p>E-mail: </p>
<p> <input type= "text" name= "email"></p>

<p>Сообщение: </p>
<p> <textarea rows= "10" cols= "45" name= "message"></textarea></p>

<input type= "submit" value= "Отправить">

</body>
</html>


В этой простейшей HTML форме я использую метод передачи POST и передаю 3 параметра (name, email,  message) PHP скрипту (post.php) лежащему в корне сайта после нажатия на кнопку «Отправить».

Полей для ввода может быть сколько угодно и с различными атрибутами. Названия параметров (name, email,  text) используйте, какие вам удобно. Главное чтобы эти параметры были правильно обработаны  скриптом (post.php).  Вы можете использовать выпадающие списки (select), флажки для выбора (checkbox), переключатели (radio) и т.д. Здесь, к примеру, для ввода сообщения я использовал текстовое поле textarea с шириной в 45 символов и с высотой в 10 строк.

Теперь создадим файл post.php. Название и путь к файлу указываются в form action= "post.php" HTML формы.

Содержимое файла "post.php":



<?

// ----------------------------конфигурация-------------------------- //

$adminemail="admin@site.ru";  // e-mail админа

$date=date("d.m.y"); // число.месяц.год

$time=date("H:i"); // часы:минуты:секунды

$backurl="http://site.ru/index.html";  // На какую страничку переходит после отправки письма

//---------------------------------------------------------------------- //

 

// Принимаем данные с формы

$name=$_POST['name'];

$email=$_POST['email'];

$msg=$_POST['message'];

 

// Проверяем валидность e-mail

if (!preg_match("|^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is", strtolower($email)))

 {

  echo "<center>Вернитесь <a href='javascript:history.back(1)'><B>назад</B></a>. Вы указали неверные данные!";

  }

 else

 {

$msg="

<p>Имя: $name</p>

<p>E-mail: $email</p>

<p>Сообщение: $msg</p>

";

 

 // Отправляем письмо админу

mail("$adminemail", "$date $time Сообщение от $name", "$msg");

 

// Сохраняем в базу данных

$f = fopen("message.txt", "a+");

fwrite($f," \n $date $time Сообщение от $name");

fwrite($f,"\n $msg ");

fwrite($f,"\n ---------------");

fclose($f);

 

// Выводим сообщение пользователю

print "<script language='Javascript'><!-- function reload() {location = \"$backurl\"}; setTimeout('reload()', 6000); //--></script>

$msg

<p>Сообщение отправлено! Подождите, сейчас вы будете перенаправлены на главную страницу...</p>";

exit;

 }

?>


Давайте разберемся. В самом начале задается небольшая конфигурация скрипта. Это e-mail админа, формат даты и времени и страница куда будет перенаправлен посетитель после отправки письма.

Далее идет объявление переменных которые скрипт принял методом POST. Все переменные, а так же их названия должны соответствовать HTML форме с которой они отправлены.

Затем проверяем корректность введенного E-mail. Эта функция хороша тем, что проверяет на валидность даже те названия адресов E-mail у которых в логине есть например точки. Т.к. такие адреса уже давно не редкость.

Если все ОК, то отправляем письмо админу.

Затем сохраняем сообщение в базе данных – это файл message.txt лежащий в корне сайта. Если его нет, то скрипт самостоятельно его создаст т.к. в функции fopen стоит атрибут "a+".

Далее пользователю выводится сообщение об удачной отправке письма и веденным им текстом. И через 6000 миллисекунд с помощью JavaScriptа он перенаправляется на страницу указанную в конфигурации (переменная $backurl).

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

Автор: Антон Соломатин, г. Волгоград

Если Вам понравилась статья, проголосуйте за нее

Голосов: 16  loading...
ESCAPE   uasmile   chizztectep   pechatny   crowley   nick160690   thunder_rey   maxes   ivan_labyk   agarkin   fatalik   Vogdux   maha111   alex77   Serusch   ansolomatin