[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужна помощь с кодом обратной связи
Эланор
Здравствуйте. Возникла проблема с php скриптом отправки сообщения с сайта. Такие интерактивные функции для меня в новинку. Помогите, пожалуйста, разобраться.

Пока все файлы находятся не в корневом каталоге, а в папке ‘testing’.

Форма на html выглядит так:

<form class="gt_aside_ques_form" action="/testing/submit.php" method="POST">
<input type="text" name ="name" placeholder="Name">
<input type="text" name="email" placeholder="E-mail">
<textarea name="message" placeholder="Message"></textarea>
<input type="submit" value="Send Now">
</form>

Код submit.php:

<?php
if (!empty($_POST['name']) AND !empty($_POST['email']) AND !empty($_POST['message'])){
$theme = "New Message";
$letter = "Message content:\r\n";
$letter .="Name: ".$_POST['name'].'\r\n';
$letter .="E-mail: ".$_POST['email'].'\r\n';
$letter .="Message: ".$_POST['message'].'\r\n';

if (mail("info@mysite.org", $theme, $letter)){
header("Location: /testing/page.html");
} else {
header("Location: /testing/page.html");
}
} else {
header("Location: /testing/page.html");
}

?>


При отправке сообщения должна перезагружаться изначальная страница. Заранее спасибо.
Игорь_Vasinsky
Цитата
При отправке сообщения должна перезагружаться изначальная страница. Заранее спасибо.

что значит перегружаться первоначальная? у тебя все данные уходят на submit.php - туда и отправит.

а вот потом уже должно отправить на testing/page.html

НО. если только соблюдено правило - заголовки (header) могут отправляться только если не было вывода данных - т.е. ни каких echo, print или html до работы с ними.

в твоём случае только php код и нет вывода, но заголовки не отправляются и редирект не работает

если ты в начале php кода напишешь

<?php
ini_set("display_errors", true);
error_reporting(-1);


Это отобразит тексты ошибок - а там будет сказано что header already sent

тут ничего удивительного или волшебного нет, думаю кодировка файла в utf with BOM, а ты сделай utf without bom - т.е. без BOM

пустых строк перед <?php так же быть не должно.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Эланор
Игорь, спасибо большое за ответ. Боюсь, вы переоценили мою компетентность в этом вопросе =) Но про отсутствие редиректа до меня дошло. Не понятно только решение проблемы. Вы имеете в виду, что проблема только в кодировке?

Пустой строки в начале кода нет, но для меня это тоже ценное замечание, в будущем могли бы быть проблемы, спасибо.
Игорь_Vasinsky
Проблема в кодировке файла/

как сменить кодировку файла на примере редактора Notepad++ http://manual.ucoz.net/board/52-1-0-493

я уверен - почти каждый редактор такое умеет.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.