Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2017
Помог: 0 раз(а)
Добрый день!
Есть файл test_appearence_table.php, который рисует форму для теста, лежит в каталоге темы в wordpress. Рисует на, допустим, странице vsetut/test. Туда же положила файл result.php который должен обрабатывать ответы(пока что просто вывести значение некоторых заполненных полей на страничку). В test_appearence_table.php прописала форму так:
При нажатии на кнопку результата выдает ошибку 404. Причем пытается открыть страницу vsetut/test/result.php
Что я не так прописываю? Может быть путь не так?
Проверьте для начала соответствие имени файла в каталоге, и в html-форме. Тут, как видим, они не совпадают.
Описка , исправила в посте. С названиями все в порядке
Строитель
Отправлено: 28 Ноября, 2017 - 14:51:12
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Snowy а в result.php есть какие либо редиректы? Обычно, после обработки post-запроса выполняется редирект на ту же страницу, с помощью функции header('Location: ТУТ_АДРЕС'); -- Есть ли у вас что-то подобное?
Snowy
Отправлено: 28 Ноября, 2017 - 14:57:02
Новичок
Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2017
Помог: 0 раз(а)
Строитель пишет:
Snowy а в result.php есть какие либо редиректы? Обычно, после обработки post-запроса выполняется редирект на ту же страницу, с помощью функции header('Location: ТУТ_АДРЕС'); -- Есть ли у вас что-то подобное?
echo "<p>Пол: </p>";
if ($_POST['gender']==="M") echo "<b>Мужской</b>";
if ($_POST['gender']==="W") echo "<b>Женский</b>";
echo '</p>';
echo '<p>Насколько Вы удовлетворены своей жизнью в текущем периоде? От 1 до 10: </p>';
echo "<p><b>".$_POST['satisfaction']."</b></p>";
echo '<hr size="1">';
echo '</body>';
echo '</html>';
?>
Строитель
Отправлено: 28 Ноября, 2017 - 15:08:44
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Snowy ну тогда попробуйте в форме <form action="result.php" method="POST" target=""> прописать путь к обработчику result.php от корневого каталога вашего сайта. Например, корневая папка vsetut, тогда путь будет примерно таким : action="test/result.php".
И ещё проверьте, есть ли вообще доступ к этому файлу по ссылке httр://vsetut/test/result.php (если конечно в этой директории ваш файл)
Snowy
Отправлено: 28 Ноября, 2017 - 15:29:53
Новичок
Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2017
Помог: 0 раз(а)
Строитель пишет:
Snowy ну тогда попробуйте в форме <form action="result.php" method="POST" target=""> прописать путь к обработчику result.php от корневого каталога вашего сайта. Например, корневая папка vsetut, тогда путь будет примерно таким : action="test/result.php".
И ещё проверьте, есть ли вообще доступ к этому файлу по ссылке httр://vsetut/test/result.php (если конечно в этой директории ваш файл)
Т.е мне прописывать что-то типа action="/vsetut/wp-content/themes/florence/result.php" ?
UPD - когда так делаю, просто возвращает на ту же страницу с тестом, сбрасывая все поля..
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Snowy пишет:
Т.е мне прописывать что-то типа action="/vsetut/wp-content/themes/florence/result.php" ?
Не уверен, но попробуйте добавить слеш: action="/test/result.php"
Snowy
Отправлено: 28 Ноября, 2017 - 15:37:59
Новичок
Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2017
Помог: 0 раз(а)
Строитель пишет:
Snowy пишет:
Т.е мне прописывать что-то типа action="/vsetut/wp-content/themes/florence/result.php" ?
Не уверен, но попробуйте добавить слеш: action="/test/result.php"
Сработал тот адрес, 404 нет, но и результата нет - просто на ту же стр с тестом и сбрасывает все поля...
Строитель
Отправлено: 28 Ноября, 2017 - 15:42:49
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Snowy, ну там наверное буферизация не позволяет видеть в браузере данные из файла. Давайте сперва убедимся, что мы действительно при клике на кнопку формы попадаем в обработчик. Для этого напишите в вашем файле сразу же после открывающего тега <?php эту строку: exit('Stop'); Всё вместе будет выглядеть так:
<?php exit('Stop');
// Выводим HTML-заголовки:
.. далее код вашего файла (Добавление) Snowy а почему вы тот ваш файл кладёте в папку с темами? О_о ...
Snowy
Отправлено: 28 Ноября, 2017 - 15:48:02
Новичок
Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2017
Помог: 0 раз(а)
Строитель пишет:
Snowy, ну там наверное буферизация не позволяет видеть в браузере данные из файла. Давайте сперва убедимся, что мы действительно при клике на кнопку формы попадаем в обработчик. Для этого напишите в вашем файле сразу же после открывающего тега <?php эту строку: exit('Stop'); Всё вместе будет выглядеть так:
<?php exit('Stop');
// Выводим HTML-заголовки:
.. далее код вашего файла
Добавила, и еще в форме так написала <form action "wp-content/themes/florence/result.php" method="POST" target="_blank">
target="_blank" - чтобы открывал для результата новую страницу. Открывает просто новую страницу с незаполненным тестом
Почему в папку с темами? Первый раз взялась за создание сайта, думала по шаблону все сделаю, фоточки и текст, а оказался нужен тест еще ..вот и мучаюсь Я просто не знаю, куда эти файлы правильно определить. Если подскажете, буду благодарна
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Snowy пишет:
и еще в форме так написала <form action "wp-content/themes/florence/result.php" method="POST" target="_blank">
Не нужно. Надо оставить так action="/test/result.php" и выполнить совет из предыдущего моего поста.
Но вообще, всё это не правильно. Получается, что вы в папку с темами кладёте посторонний файл. Надо сперва разобраться, где в WP подходящая для этого директория, и уже в ней создавать ваши файлы (а не в папках с темами) (Добавление)
Snowy пишет:
Если подскажете, буду благодарна
Я конкретно с этим движком не работал, но все они написаны (должны быть, ко крайней мере) по одним и тем же правилам. (Добавление) Snowy попробуйте найти документацию к этому движку, в ней наверняка описаны этапы построения своих страниц -- возможно что вам и в коде не придётся ничего править (хотя в этом я не уверен) - всё сделаете в wysiwyg редакторе.
Snowy
Отправлено: 28 Ноября, 2017 - 15:59:12
Новичок
Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2017
Помог: 0 раз(а)
Строитель пишет:
Snowy пишет:
и еще в форме так написала <form action "wp-content/themes/florence/result.php" method="POST" target="_blank">
Не нужно. Надо оставить так action="/test/result.php" и выполнить совет из предыдущего моего поста.
Но вообще, всё это не правильно. Получается, что вы в папку с темами кладёте посторонний файл. Надо сперва разобраться, где в WP подходящая для этого директория, и уже в ней создавать ваши файлы (а не в папках с темами) (Добавление)
Snowy пишет:
Если подскажете, буду благодарна
Я конкретно с этим движком не работал, но все они написаны (должны быть, ко крайней мере) по одним и тем же правилам.
Если как вы сказали- на той же странице тест перегружает пустой, ну т.е грузится заново страница vsetut/test
Строитель
Отправлено: 28 Ноября, 2017 - 16:00:26
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Snowy пишет:
Если как вы сказали- на той же странице тест перегружает пустой, ну т.е грузится заново страница vsetut/test
А вы прописали в вашем файле код :
<?php exit('Stop');
// Выводим HTML-заголовки:
Snowy
Отправлено: 28 Ноября, 2017 - 16:10:08
Новичок
Покинул форум
Сообщений всего: 14
Дата рег-ции: Нояб. 2017
Помог: 0 раз(а)
Строитель пишет:
Snowy пишет:
Если как вы сказали- на той же странице тест перегружает пустой, ну т.е грузится заново страница vsetut/test
А вы прописали в вашем файле код :
<?php exit('Stop');
// Выводим HTML-заголовки:
да конечно (Добавление)
Snowy пишет:
Строитель пишет:
Snowy пишет:
Если как вы сказали- на той же странице тест перегружает пустой, ну т.е грузится заново страница vsetut/test
А вы прописали в вашем файле код :
<?php exit('Stop');
// Выводим HTML-заголовки:
да конечно
Я уже ничего не понимаю, где-то в кеше что ли сайт..уже работает (перегружает страницу) и с
<form action "result.php" method="POST" target="">
<form action "test/result.php" method="POST" target="">
<form action "/test/result.php" method="POST" target="">
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.