Перейти к содержимому


Фотография

php функция


  • Авторизуйтесь для ответа в теме
3 ответов в теме

#1 vad806579

vad806579

    Активный участник

  • Пользователи
  • PipPipPip
  • 221 сообщений
  • Пол:Мужской
  • Город:реутов

Отправлено 01 Апрель 2011 - 04:53

как подключить php функцию для отправки писем в форме обратной связи?

<div class="c_form">
<form action="" method=post>
<p>Вы можете отправить сообщение</p>
<input type="text" name="email" value="Ваш E-mail" onclick="this.value=''" size="50"><br /><br />
<textarea name="mess" rows="4" cols="40">Сообщение</textarea><br />
<input type="submit" value="Отправить" name="submit" style="width: 120px;"></form>
</div>

напиши кто знает пожалуйста!
  • 0

#2 vad806579

vad806579

    Активный участник

  • Пользователи
  • PipPipPip
  • 221 сообщений
  • Пол:Мужской
  • Город:реутов

Отправлено 01 Апрель 2011 - 06:33

<?php
if(isset($_POST['submit')]) {
$email = substr(htmlspecialchars(trim($_POST['email'])), 0, 100);
$mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 10000);
$to = 'mail@gt-light.ru';
$title="Сообщение с сайта";
if (mail($to, $title, $mess, 'From:'.$email)) $c_mess='Спасибо! Ваше сообщение отправлено.';
}
?>

и сама форма-

<div class="c_form">

<form action="" method=post>
<p>Вы можете отправить сообщение</p>
<input type="text" name="email" value="Ваш E-mail" onclick="this.value=''" size="50"><br /><br />
<textarea name="mess" rows="4" cols="40">Сообщение</textarea><br />
<input type="submit" value="Отправить" name="submit" style="width: 120px;"></form>
</div>



не работает у меня(
  • 0

#3 Петрович

Петрович

    Активный участник

  • Пользователи
  • PipPipPip
  • 98 сообщений

Отправлено 01 Апрель 2011 - 11:47

Необходимо создать файлик, например mail.php
<?php
if(isset($_POST['submit'])) { 
  $email = substr(htmlspecialchars(trim($_POST['email'])), 0, 100); 
  $mess = substr(htmlspecialchars(trim($_POST['mess'])), 0, 10000); 
  $to = 'mail@gt-light.ru'; 
  $title="Сообщение с сайта";
  if (mail($to, $title, $mess, 'From:'.$email)) {
    echo 'Спасибо! Ваше сообщение отправлено.';
  }
} 
?>
 
<div class="c_form">
  <form action="mail.php" method=post> 
    <p>Вы можете отправить сообщение</p>
    <input type="text" name="email" value="Ваш E-mail" onclick="this.value=''" size="50"><br /><br /> 
    <textarea name="mess" rows="4" cols="40">Сообщение</textarea><br /> 
    <input type="submit" value="Отправить" name="submit" style="width: 120px;">
  </form> 
</div>
А дальше необходимо положить этот файлик на веб-сервер с поддержкой php и обратиться к нему по адресу http://<домен>/mail.php и все заработает - проверил ) Кстати, ошибку в коде тоже исправил )
  • 0

#4 CTaPuK

CTaPuK

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 818 сообщений
  • Пол:Мужской

Отправлено 02 Апрель 2011 - 04:25

Недостатком такого кода будет являться то, что при каждом обновлении страницы будет происходить отправка письма. Так моно положить почтовый ящик кучей однотипных сообщений.
Так что,желательно, после отправки письма сделать редирект на страницу с формой (и вывести сообщение об успешной отправки письма) или же отдельную страницу с сообщением об успешной отправки письма.
E-mail должен проверяться на корректность, а не просто вычищаться. По хорошему письмо должно приходить с адреса отправителя, чтобы тот, кто получит письмо мог сразу же и ответить, путем нажатия соот-щей кнопки в почтовой программе. Еще бы не рекомендовал называть файл mail.php для отправки формы - спамботы быстро поймут для чего скрипт и будете почту получать тоннами. Так что не помешало бы на форму еще и captcha поставить. И последнее: кодировка письма должна быть указана явно. Это облегчит жизнь при прочтении письма разными почтовыми клиентами.

Так что нет пределу совершенства. Удачи в программировании :)
  • 0




1 посетителей читают тему

0 members, 1 guests, 0 anonymous users