Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отправка писем с сайта
 
 автор: Gerasim Pro100v   (30.05.2006 в 17:14)   письмо автору
 
 

В свои 13 лет знаю все языки программирования, но с PHP не подружился.
Вот хочу сделать систему отправки писем с сайта.
Форму сделал (вот ее код):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
<style type="text/css">
<!--
a:link {
text-decoration: none;
color: #000000;
}
a:visited {
text-decoration: none;
color: #000000;
}
a:hover {
text-decoration: none;
color: #000000;
}
a:active {
text-decoration: none;
color: #000000;
}
-->
</style></head>

<body>
<table width="400" border="0">
<form action="simple_mail.php" method="post">
<input type="hidden" name="action" value="post">
<tr>
<td width="50%">To:</td>
<td align="right"><input type="text" name="mail_to" maxlength="32" value='<? echo $mail_to; ?>'>
</td>
</tr>
<tr>
<td width="50%">Subject:
</td>
<td align="right"><input type="text" name="mail_subject" maxlength="64"
value='<? echo $mail_subject; ?>'>
</td>
</tr>
<tr>
<td colspan="2">Сообщение:<br>
<textarea cols="50" rows="8" name="mail_msg"><? echo $mail_msg; ?></textarea>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Отправить">
</td>
</tr>
</form>
</table>
</body>
</html>

Соответствующий PHP-скрипт тоже сделал (вот и он):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
</head>

<body>
<?php
$action = $_POST["action"];
if (!empty($action))
{
if (!empty($mail_to))
{
// проверяем правильность заполнения с помощью регулярного выражения
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $mail_to))
{
$action = "";
echo("Введите адрес в виде somebody@server.com");
exit();
}
$mail_subject = trim($mail_subject);
$mail_msg = trim($mail_msg);
$mail_to = substr($_POST["mail_to"],0,32);
$mail_to = htmlspecialchars(stripslashes($mail_to));
$mail_subject = substr($_POST["mail_subject"],0,64);
$mail_subject = htmlspecialchars(stripslashes($mail_subject));
$mail_msg = substr($_POST["mail_msg"],0,1024);
// формируем сообщение
if(mail($mail_to, $mail_subject, $mail_msg))
{
echo("Сообщение успешно отправлено");
}
else
{
echo("При отправлении сообщения произошла ошибка");
}

}
else
{
echo("Введите адрес получателя");
}
}
?>
</body>
</html>

Вот заполняю форму на своем сайте, нажимаю отправить...
А вместо того, чтобы отправить письмо, открывается страница с приведенным выше PHP-скриптом.
Кто может, помогите найти ошибку и исправить, пожалуйста.

   
 
 автор: kolobokk   (30.05.2006 в 17:19)   письмо автору
 
   для: Gerasim Pro100v   (30.05.2006 в 17:14)
 

а на сервере где расположен ваш скрипт есть поддержка PHP?

   
 
 автор: Gerasim Pro100v   (30.05.2006 в 17:23)   письмо автору
 
   для: kolobokk   (30.05.2006 в 17:19)
 

О таком тоже думал.
Все поддерживает.

   
 
 автор: kadet_73   (30.05.2006 в 17:20)   письмо автору
 
   для: Gerasim Pro100v   (30.05.2006 в 17:14)
 

А хостинг где Вы размещаете скрипт, php поддерживает?

   
 
 автор: Gerasim Pro100v   (30.05.2006 в 17:24)   письмо автору
 
   для: kadet_73   (30.05.2006 в 17:20)
 

Да ,кадет_73, есть!

   
 
 автор: kolobokk   (30.05.2006 в 17:30)   письмо автору
 
   для: Gerasim Pro100v   (30.05.2006 в 17:14)
 

Приведенный Вами код - рабочий, проверил
Дело все-таки в хостинге

проверьте phpinfo();

   
 
 автор: Gerasim Pro100v   (30.05.2006 в 17:32)   письмо автору
 
   для: kolobokk   (30.05.2006 в 17:30)
 

Спасибо тебе, колобокк, за помощь.
А как ты проверил?

   
 
 автор: kolobokk   (30.05.2006 в 17:35)   письмо автору
 
   для: Gerasim Pro100v   (30.05.2006 в 17:32)
 

>А как ты проверил?
на локальном Апаче :)

   
 
 автор: kadet_73   (30.05.2006 в 17:33)   письмо автору
 
   для: kolobokk   (30.05.2006 в 17:30)
 

а попробуйте заменить на:

if(mail($mail_to, $mail_subject, $mail_msg, "From:somebody@server.com"))

   
 
 автор: kolobokk   (30.05.2006 в 17:37)   письмо автору
 
   для: kadet_73   (30.05.2006 в 17:33)
 

дополнительная шапка From не является обязательной

   
 
 автор: Gerasim Pro100v   (30.05.2006 в 17:50)   письмо автору
 
   для: kadet_73   (30.05.2006 в 17:33)
 

Да нет ,не помогло!

   
 
 автор: cheops   (30.05.2006 в 23:03)   письмо автору
 
   для: Gerasim Pro100v   (30.05.2006 в 17:14)
 

А файл с этим кодом какое расширение имеет?

   
 
 автор: РП   (30.05.2006 в 23:24)
 
   для: cheops   (30.05.2006 в 23:03)
 

ГДЕТО БЫЛА СТАТЬЯ НА ВАШЕМ ФОРУМЕ, ОТПРАВКА ПИСЕМ БЕЗ ПОДДЕРЖИ SendMAIL ДАЙТЕ ССЫЛКУ ПОЖАЛУЙСТО

   
 
 автор: Саня   (30.05.2006 в 23:47)   письмо автору
 
   для: РП   (30.05.2006 в 23:24)
 

Юзай поиск!
http://softtime.ru/forum/srchform.php?name=%EE%F2%EF%F0%E0%E2%E8%F2%FC+%EF%E8%F1%FC%EC%EE
Если лень, то прошу сюда:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=84

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования