Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка на обращение к файлу (https://javascript.ru/forum/misc/72554-proverka-na-obrashhenie-k-fajjlu.html)

xlebosolniy 08.02.2018 18:57

Цитата:

А зачем писать $name,$phone,$email в файл, да еще таким образом задавать строку? Так и задавать - $txt=$name, $phone, $email; или через точку.
У меня же прописано
$txt="$name,$phone,$email";

или нужен пробел после запятой?)

Получается я сделал вот так:
if	(mail($to, $subject, $msg, implode("\r\n", $headers) )) {
    
	$txt="$name, $phone, $email";
	$fp = fopen("mail.txt", "a+");
	$fw = fwrite($fp, $txt);
	fclose($fp); 	
    
	header('location: /index.php#openModal'); //это передача заголовка, никаких echo header быть не может
	//и учтите, что указывается относительный путь и он должен быть правильным
} else {
   echo 'Ошибка отправления почты, попробуйте повторить позже.';
   //если не было ошибок приема формы, то есть форма не подключалась, то подключить, иначе пользователь не сможет повторить отправление
   if(!$error) include 'form.php';
}


У Вас написано "include 'form.htm';" - нужно исправить на .php, верно?

location можно с маленькой писать или нужно с большой?

Смотрю вот тут http://redirekt.info/article/pishem-...hp-header.html
везде с большой пишется. Но все равно перенаправляться не хочет, пытался как с маленькой та и с большой. Брал ссылки из примеров, тоже ни в какую, а в .htaccess прописывать ничего не надо?

laimas 08.02.2018 19:11

Цитата:

Сообщение от xlebosolniy
или нужен пробел после запятой?

В кавычки зачем помещать строки?

$txt = $name . $phone . $email;


А пробелы между операндами на значение не влияют.

Цитата:

Сообщение от xlebosolniy
У Вас написано "include 'form.htm';" - нужно исправить на .php, верно?

Не обязательно. Форма это чистый html код будет, только с небольшими вставками РНР кода, а значит пусть это и будет html тип, удобнее будет в редакторе. В РНР подключить можно любой файл, даже и без расширения. Как работает парсер при подключении читать здесь.

Цитата:

Сообщение от xlebosolniy
location можно с маленькой писать или нужно с большой?

Не важно, как нравится, вам важен переход, а не как браузер будет интерпретировать имя этого заголовка.

Цитата:

Сообщение от xlebosolniy
в .htaccess прописывать ничего не надо?

Не надо. Если перенаправления нет, включить вывод ошибок, явно есть ошибки в коде, и скорее всего уже был вывод в браузер, если до этого ОК, а перенаправления нет.

xlebosolniy 08.02.2018 19:51

Выводилась ошибка 500, но она вызывалась как я понял из-за этой строчки echo 'Ошибка отправления почты, попробуйте повторить позже.'; пока в конце не было точки с запятой.
А чтобы вывести ошибки в файл отдельный нужно следовать этой инструкции https://help.sweb.ru/entry/137/ ?

xlebosolniy 08.02.2018 19:58

А, вроде разобрался)
Добавил в самое начало form.php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

заполнил форму, отправил и ничего не показало, значит ошибок нет или как?)

laimas 08.02.2018 21:02

Если ошибок нет, проверяйте путь.

xlebosolniy 08.02.2018 21:40

Ну путь вроде правильный, даже если выставить как пример https://www.yandex.ru/ все равно ничего или так нельзя?

xlebosolniy 08.02.2018 23:26

Все, разобрался) Спасибо огромное за помощь)


Часовой пояс GMT +3, время: 05:48.