Изменить: я мог бы упростить этот вопрос, спросив, есть ли способ сделать что-то вроде header('Location: /msg_form.php?error=3')
кроме отправки ошибки = 3 и всей другой информации о форме через POST. Я думаю, что короткий ответ – нет, но есть альтернативные способы сделать что-то.
Я включил систему сообщений на свой сайт, который использовал GET для всего, но мне нужно было отправлять сообщения в большие списки людей, поэтому мне пришлось переключиться на использование POST. Тем не менее, это придает форму системе, когда вы отправляете форму сообщения, и появляются ошибки. Форма отправляется на страницу обработки, и если есть ошибки, она должна перенаправить обратно на страницу формы, но теперь она выгружает всю информацию POST. 🙁
У меня нет способа смоделировать отправку формы с страницы обработки php? Я бы подумал, что завиток может сделать это для меня, но до сих пор он просто посылает POSTS в netherworld, но на самом деле не перенаправляет браузер.
Думаю, я мог бы распечатать форму с некоторыми скрытыми переменными, а затем перенаправить с помощью html или javascript, но это кажется немым. Кроме того, я мог бы интегрировать процессор прямо на страницу формы, что я мог бы сделать, но я бы предпочел не переделывать много вещей.
Часто я буду использовать одну и ту же страницу для ввода формы и обработки формы. В верхней части страницы вы проверяете переменные POST и обрабатываете соответственно. Я строю строку с любыми ошибками. Затем в конце кода обработки, если есть ошибки, повторно отобразите страницу входа с ошибками. В противном случае перенаправляйте или показывайте страницу с благодарностью и т. Д.
Вы также можете использовать jQuery, чтобы отправить форму, оставаясь на странице, и обработать ответ (отобразить ошибки, которые возвращаются или перенаправлять). Существует много способов решить вашу проблему.
хорошо .. я не уверен, что вы пытаетесь сделать .., но если вам нужно отправить POST с php, вы можете сделать это с помощью curl с чем-то вроде этого:
<?php $ch = curl_init('http://mysite.com/index.php'); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, "option=com_content&task=blogcategory&id=24&Itemid=55"); curl_exec ($ch); curl_close ($ch); ?>
Вы можете сохранить данные POST в переменных сеанса.
Вы можете использовать сеансы, предоставляемые сервером, который использует файлы cookie. Или вы можете отправить свою информацию с помощью http-передачи (более длинное решение) …
Вы можете сохранить данные POST в файле cookie.