Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Изготовление сайтов


Ответ
 
Опции темы Опции просмотра
Старый 14.04.2012, 18:29   #1 (permalink)
nightgremlin
Member
 
Регистрация: 05.05.2011
Сообщений: 43
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите с php-скриптом

Есть форма почты:
Код HTML:
<form action="http://sdcvoy.ru/phpbloks/mail.php" method="post">
<p>Ваше имя:<br /><input type="text" name="your_name" /> </p>
<p>E-mail:<br /><input type="text" name="email" /></p>
<p>Тема:<br /><input type="text" name="tema" /></p>
<p>Сообщение:<br />
<textarea name="message" rows="5" cols="45"> </textarea></p>
<p><input type="submit" value="Отправить"><input type="button" id="pochta12" value="x" class="knopka" title="Закрыть"></p>
</form>
И код обрабатывающий её:
PHP код:
<?php
/* Осуществляем проверку вводимых данных и их защиту от враждебных 
скриптов */
$your_name htmlspecialchars($_POST["your_name"]);
$email htmlspecialchars($_POST["email"]);
$tema htmlspecialchars($_POST["tema"]);
$message htmlspecialchars($_POST["messages"]);
/* Устанавливаем e-mail адресата */
$myemail "nightgremlin2007@yandex.ru";
/* Проверяем заполнены ли обязательные поля ввода, используя check_input 
функцию */
$your_name check_input($_POST["your_name"], "Введите ваше имя!");
$tema check_input($_POST["tema"], "Укажите тему сообщения!");
$email check_input($_POST["email"], "Введите ваш e-mail!");
$message check_input($_POST["message"], "Вы забыли написать сообщение!");
/* Проверяем правильно ли записан e-mail */
if (!preg_match("/([\w\-]+\@[\w\-]
+\.[\w\-]+)/"
$email))
{
show_error("<br /> Е-mail адрес не существует");
}
/* Создаем новую переменную, присвоив ей значение */
$message_to_myemail "Здравствуйте! 
Вашей контактной формой было отправлено сообщение! 
Имя отправителя: 
$your_name 
E-mail: 
$email 
Текст сообщения: 
$message 
Конец"
;
/* Отправляем сообщение, используя mail() функцию */
$from  "From: $yourname <$email> \r\n Reply-To: $email \r\n"
mail($myemail$tema$message_to_myemail$from);
?>
<div style="display:block; background: #CCC; color:#000;
-moz-border-radius:10px; /* Радис скругления */
        -webkit-border-radius:10px;
        -khtml-border-radius:10px;
        border-radius:10px;
    padding:15px;
    margin:auto;    
    width:300px;">
<p>Ваше сообщение было успешно отправлено!</p>
<p>На <a href="../index.php">Главную >>></a></p></div>
<?php
/* Если при заполнении формы были допущены ошибки сработает 
следующий код: */
function check_input($data$problem "")
{
$data trim($data);
$data stripslashes($data);
$data htmlspecialchars($data);
if (
$problem && strlen($data) == 0)
{
show_error($problem);
}
return 
$data;
}
function 
show_error($myError)
{
?>
<html>
<body>
<div style="display:block; background: #000; color:#FFF;
-moz-border-radius:10px; /* Радис скругления */
        -webkit-border-radius:10px;
        -khtml-border-radius:10px;
        border-radius:10px;
    padding:15px;
    margin:auto;    
    width:300px;">
<p>Пожалуйста исправьте следующую ошибку:</p>
<div style="color:#F03"><?php echo $myError?></div>
</div>
</body>
</html>
<?php
exit();
}
?>
Все вроде хорошо, но письма не доходят до адресата. Пробовал вставить другой адрес. Результат 0-ой. Ошибка скорее всего где-то здесь:
PHP код:
/* Отправляем сообщение, используя mail() функцию */
$from  "From: $yourname <$email> \r\n Reply-To: $email \r\n"
mail($myemail$tema$message_to_myemail$from);
?> 
Но так как я не очень разбираюсь в php, прошу помочь со скриптом знающих людей.
nightgremlin вне форума   Ответить с цитированием

Старый 14.04.2012, 18:29
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Топики с таким же содержанием уже создавались на нашем форуме

Помогите пожалуйста со скриптом
Помогите со скриптом
Проблема с java - скриптом

Старый 14.04.2012, 23:56   #2 (permalink)
nightgremlin
Member
 
Регистрация: 05.05.2011
Сообщений: 43
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Проблему решил следующим образом:
PHP код:
mail ("nightgremlin2007@yandex.ru",
      
"Сообщение с сайта (отправитель: $your_name)",      
      
"Тема:$tema\n\n Сообщение:$message \n\n Контакты: \n $email"); 
nightgremlin вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
php, форма

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 18:44.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.