Добрый день! Понимаю, что ошибка, где-то рядом, но не понимаю - где именно? Создал форму. Затем обработчик формы. И, вроде как, обработчик работает, но при ответе обработчика, после строки со словами: Спасибо за отправку вашего сообщения!; "Нажмите, чтобы вернуться на главную страницу", появляется текст с ненужными символами. HTML: <!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>Обратная связь</title> </head> <body> <?php if(isset($_POST['name'])) {$name = $_POST['name'];} if(isset($_POST['email'])) {$email = $_POST['email'];} if(isset($_POST['mess'])) {$mess = $_POST['mess'];} $to = "mymail@inbox.ru"; $headers = "Content-type: text/plain; charset=windows-1251"; $subject = "Сообщение с вашего сайта"; $message = "Имя пославшего: $name \nЭлектронный адрес: $email \nСообщение: $mess"; $send = mail($to, $subject, $message, $headers); if ($send == 'true') { echo <b>Спасибо за отправку вашего сообщения!</b>; "<a href="index.html">Нажмите,</a> чтобы вернуться на главную страницу"; } else { echo <b>"Ошибка. Сообщение не отправлено!"</b>; } ?> </body> </html>
Это тебя Алёша Попович научил писать PHP в теге body и юзать Windows-1251 ? --- Добавлено --- Возьми строки в кавычки вместе с тегами. --- Добавлено --- а вот тут php путается в твоих кавычках. Внутренние нужно или экранировать или заменить на одинарные. ну или внешние заменить на одинарные. Короче, один из вариантов: PHP: // 1 "<a href=\"index.html\">Нажмите,</a> чтобы вернуться на главную страницу"; //2 "<a href='index.html'>Нажмите,</a> чтобы вернуться на главную страницу"; //3 '<a href="index.html">Нажмите,</a> чтобы вернуться на главную страницу';
Попробовал все три варианта - результат, примерно, тот же самый... Научила вот эта статья https://biznes-prost.ru/sozdaem-formu-obratnoj-svyazi-na-sajte.html
PHP: echo ('<b>Спасибо за отправку вашего сообщения!</b><a href="index.html">Нажмите,</a> чтобы вернуться на главную страницу');
else тоже исправь. Что вообще за не нужные символы? PHP: echo ('<b>Ошибка. Сообщение не отправлено!</b>');
Ненужные символы: " ; } else { echo ?> Наверное, как мне кажется, посетителю сайта, при отправке данных формы, не интересно, будет видеть эти символы. То есть, должно появляться либо: Спасибо за отправку вашего сообщения!Нажмите, чтобы вернуться на главную страницу. Либо: Ошибка. Сообщение не отправлено! И без ненужных символов. --- Добавлено --- Неа, всё то же самое, к сожалению.
Как все сложно. Копируй все так как написано выше. PHP: if ($send == 'true') { echo('<b>Спасибо за отправку вашего сообщения!</b><a href="index.html">Нажмите,</a> чтобы вернуться на главную страницу'); } else { echo('<b>Ошибка. Сообщение не отправлено!</b>'); }
Интересное развитие событий - у других этот код работает (и без ненужных символов), а у меня нет и я не знаю - почему?
Может, другие повменяемей будут. http://itforums.ru/topic/16113-sozdanie-formy-na-saite-gde-oshibka-v-kode-obrabo/#entry71890
потому, что PHP не работает. либо ты открываешь файл напрямую не через web сервер, либо на web сервере не настроен прогон через php интерпретатор, либо расширение файла обработчика .html, а должно быть .php