Jump to content


Photo

php функция


  • Please log in to reply
3 replies to this topic

#1 vad806579

vad806579

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

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

Posted 01 April 2011 - 04:53 PM

как подключить 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 posts
  • Пол:Мужской
  • Город:реутов

Posted 01 April 2011 - 06:33 PM

<?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 posts

Posted 01 April 2011 - 11:47 PM

Необходимо создать файлик, например 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 posts
  • Пол:Мужской

Posted 02 April 2011 - 04:25 AM

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

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




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users