| imho.ws |
![]() |
|
|
|
# 1 |
|
Member
Регистрация: 28.04.2002
Сообщения: 375
![]() ![]() ![]() ![]() |
Где ошибка в скрипте "отправка мыла на ПХП"
Здраствуйте.
Закинул на хостинг скрипт (на ПХП) отправки сообщений на эл. почту. но когда нажимаю кнопку "отправить" мне выводит "Ошибка ! Скрипту не были переданы параметры !" (не зависимо от того ввожу я сообщение которое хочу отправить или нет) Подскажите где допущена ошибка в коде? mail.php Код:
<html> <body> <td> <form method=post action=send.php> <center><b>Ваше имя<br><input type=text name=name size=30><p> Ваш e-mail<br><input type=text name=email size=30><p> Ваше сообщение<br><textarea name=mess rows=10 cols=50></textarea><p> <input type=submit value="Отправить сообщение"> </form> </td> </body> </html> Код:
<?php
if (isset ($name))
{
$name = substr($name,0,20); //Не может быть более 20 символов
if (empty($name))
{
echo "<center><b>Не указано имя !!!<p>";
echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$name = "не указано";
}
if (isset ($email))
{
$email = substr($email,0,20); //Не может быть более 20 символов
if (empty($email))
{
echo "<center><b>Не указан e-mail !!!<p>";
echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$email = "не указано";
}
if (isset ($mess))
{
$mess = substr($mess,0,1000); //Не может быть более 1000 символов
if (empty($mess))
{
echo "<center><b>Сообщение не написано !!!<p>";
echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$mess = "не указано";
}
$i = "не указано";
if ($name == $i AND $email == $i AND $mess == $i)
{
echo "Ошибка ! Скрипту не были переданы параметры !";
exit;
}
$to = "вася пупкин@email.**";
$subject = "Сообщение с вашего интернет-сайта";
$message = "Имя пославшего:$name::::::::::Электронный адрес:$email::::::::::Сообщение:$mess:::::::::IP-адрес:$REMOTE_ADDR";
mail ($to,$subject,$message) or print "Не могу отправить письмо !!!";
echo "<center><b>Спасибо за отправку вашего сообщения<br><a href=index.php>Нажмите</a>, что бы вернуться на главную...>";
exit;
?>
|
|
|
|
|
# 5 |
|
Newbie
Регистрация: 09.03.2004
Адрес: Кишинев
Сообщения: 20
![]() |
Видимо это юмор такой
![]() Nowal, этот вариант уязвим. Попробуй, например, в форме отправки вместо строки: Ваш e-mail<br><input type=text name=email size=30><p> вставить строку Ваш e-mail<br><input type=text name=email=1;phpinfo();$a size=30><p> Правильнее, я думаю, сделать так: $name = $_POST['name']; $email = $_POST['email']; $mess = $_POST['mess']; |
|
|
|
|
# 6 |
|
Guest
Сообщения: n/a
|
про передачу значений переменных отписал Gregorius
отправка почты $to='Адрес получателя'; $subject='Тема письма'; $subject=convert_cyr_string($subject, "w","k"); $message='Собсно само письмо'; $message=convert_cyr_string($message, "w","k") $subject=base64_encode($subject); $subject='=?koi8-r?B?'.$subject.'?='; $headers="Content-type: text/plain; charset=koi8-r"; $headers.="\n".'From: '.$rootmail."\n".'X-Mailer: ';mail($to, $subject, $message, $headers) or die; пример проверен, работает |