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; пример проверен, работает |