#php #http #header #http-post
#php #http #заголовок #http-post
Вопрос:
У меня есть функция route, которая корректирует URI с заданными правилами «дружественного URL». Если какая-то часть отсутствует или неверна, она изменяется на допустимую форму, а затем функция перенаправления выдает заголовок местоположения с правильным URL.
function redir($controller_name,$action_name){
$root = '/' . Model::$rootSite . '/';
$fullSite = 'http://'.$_SERVER['SERVER_NAME'].$root.
$controller_name.'/'.$action_name;
header('Location: '.$fullSite);
}
Ничего нового… Но! Если есть форма, на первой итерации, перед перенаправлением, она отправляет данные $_POST, которые могут быть обработаны. Но как я могу перенести это на следующую итерацию, сопровождающую действительный URL-адрес в функции перенаправления?
Функция заголовка может достигать нескольких заголовков http? Каков правильный синтаксис?
Комментарии:
1. Вы можете вызвать
header()
несколько раз, чтобы добавить разные заголовки. Но я не уверен, что это то, о чем вы спрашиваете.2. У вас может быть несколько заголовков, которые могут выполняться индивидуально в зависимости от условий, но вы можете передавать только один заголовок на страницу, иначе вы получите ошибку «заголовки уже отправлены».
3. Вы не можете перенаправить
POST
запрос. Перенаправление всегда обрабатывается с помощьюGET
и не отправляет данные post.