|
|
|
| В свои 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-скриптом.
Кто может, помогите найти ошибку и исправить, пожалуйста. | |
|
|
|
|
|
|
|
для: Gerasim Pro100v
(30.05.2006 в 17:14)
| | а на сервере где расположен ваш скрипт есть поддержка PHP? | |
|
|
|
|
|
|
|
для: kolobokk
(30.05.2006 в 17:19)
| | О таком тоже думал.
Все поддерживает. | |
|
|
|
|
|
|
|
для: Gerasim Pro100v
(30.05.2006 в 17:14)
| | А хостинг где Вы размещаете скрипт, php поддерживает? | |
|
|
|
|
|
|
|
для: kadet_73
(30.05.2006 в 17:20)
| | Да ,кадет_73, есть! | |
|
|
|
|
|
|
|
для: Gerasim Pro100v
(30.05.2006 в 17:14)
| | Приведенный Вами код - рабочий, проверил
Дело все-таки в хостинге
проверьте phpinfo(); | |
|
|
|
|
|
|
|
для: kolobokk
(30.05.2006 в 17:30)
| | Спасибо тебе, колобокк, за помощь.
А как ты проверил? | |
|
|
|
|
|
|
|
для: Gerasim Pro100v
(30.05.2006 в 17:32)
| | >А как ты проверил?
на локальном Апаче :) | |
|
|
|
|
|
|
|
для: kolobokk
(30.05.2006 в 17:30)
| | а попробуйте заменить на:
if(mail($mail_to, $mail_subject, $mail_msg, "From:somebody@server.com")) | |
|
|
|
|
|
|
|
для: kadet_73
(30.05.2006 в 17:33)
| | дополнительная шапка From не является обязательной | |
|
|
|
|
|
|
|
для: kadet_73
(30.05.2006 в 17:33)
| | Да нет ,не помогло! | |
|
|
|
|
|
|
|
для: Gerasim Pro100v
(30.05.2006 в 17:14)
| | А файл с этим кодом какое расширение имеет? | |
|
|
|
|
автор: РП (30.05.2006 в 23:24) |
|
|
для: cheops
(30.05.2006 в 23:03)
| | ГДЕТО БЫЛА СТАТЬЯ НА ВАШЕМ ФОРУМЕ, ОТПРАВКА ПИСЕМ БЕЗ ПОДДЕРЖИ SendMAIL ДАЙТЕ ССЫЛКУ ПОЖАЛУЙСТО | |
|
|
|
|