
Рассмотрим скрипт отправки данных из формы на электронную почту:
Вариант довольно простой:
Код PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php // если была нажата кнопка "Отправить" if($_POST['submit']) { $title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000); $mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000); // $to - кому отправляем $to = 'test@test.ru'; // $from - от кого $from='test@test.ru'; // функция, которая отправляет наше письмо mail($to, $title, $mess, 'From:'.$from); echo 'Спасибо! Ваше письмо отправлено.'; } ?> |
Код HTML 5
1 2 3 4 5 6 7 8 9 10 |
<form action="" method=post> <p>Вводный текст перед формой <p> <div align="center"> Teма<br /> <input type="text" name="title" size="40"><br /> Сообщение<br /> <textarea name="mess" rows="10" cols="40"></textarea> <br /> <input type="submit" value="Отправить" name="submit"></div> </form> |
Скрипт немного посложнее:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
<?php function show_form() { ?> <form action="" method=post> <div align="center"> <br />Имя*<br /> <input type="text" name="name" size="40"> <br />Контактный телефон<br /> <input type="text" name="tel" size="40"> <br />Контактный email*<br /> <input type="text" name="email" size="40"> <br />Teма<br /> <input type="text" name="title" size="40"> <br />Сообщение*<br /> <textarea rows="10" name="mess" cols="30"></textarea> <br /><input type="submit" value="Отправить" name="submit"> </div> </form> * Помечены поля, которые необходимо заполнить <? } function complete_mail() { $_POST['title'] = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000); $_POST['mess'] = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000); $_POST['name'] = substr(htmlspecialchars(trim($_POST['name'])), 0, 30); $_POST['tel'] = substr(htmlspecialchars(trim($_POST['tel'])), 0, 30); $_POST['email'] = substr(htmlspecialchars(trim($_POST['email'])), 0, 50); // если не заполнено поле "Имя" - показываем ошибку 0 if (empty($_POST['name'])) output_err(0); // если неправильно заполнено поле email - показываем ошибку 1 if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email'])) output_err(1); // если не заполнено поле "Сообщение" - показываем ошибку 2 if(empty($_POST['mess'])) output_err(2); // создаем наше сообщение $mess = ' Имя отправителя:'.$_POST['name'].' Контактный телефон:'.$_POST['tel'].' Контактный email:'.$_POST['email'].' '.$_POST['mess']; // $to - кому отправляем $to = 'test@test.ru'; // $from - от кого $from='test@test.ru'; mail($to, $_POST['title'], $mess, "From:".$from); echo 'Спасибо! Ваше письмо отправлено.'; } function output_err($num) { $err[0] = 'ОШИБКА! Не введено имя.'; $err[1] = 'ОШИБКА! Неверно введен e-mail.'; $err[2] = 'ОШИБКА! Не введено сообщение.'; echo '<p>'.$err[$num].'</p>'; show_form(); exit(); } if (!empty($_POST['submit'])) complete_mail(); else show_form(); ?> |
.
What it boils down to, then, is that you really have to be sure you like another www.domyhomework.guru persons idea before you use it