PHP header() vs $_POST

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

Вопрос: Можно ли при помощи ф-ции header отослать переменные в POST ?

Как сделать при помощи сокетов, я знаю.
Просто хотелось бы понять, что именно делает ф-ция header.


Вот небольшой примерчик, который, естесственно, не работает :-)

Код: Выделить всё

<?php

if ($_GET['test'] != 'test') {

	$post = "hello=world";

	$header = "Location: test.php?test=test\r\n";
	$header .= "Content-type: application/x-www-form-urlencoded\r\n";
	$header .= "Content-length: ".strlen($post)."\r\n";
	$header .= "\r\n";
	$header .= $post;

	header($header);
	exit;

}
?>

<pre>
<?php
	print_r($_POST);
?>
</pre>
[url=test.php]test[/url]
Если header() просто делает explode(" ", $value), то ясно, что такое не пройдёт ..

Думал о втором варианте:

Код: Выделить всё

$post = "hello=world";

header("Location: test.php?test=test");
header("Content-type: application/x-www-form-urlencoded");
header("Content-length: ".strlen($post));
header("");
header($post);
Который, разумеется, тоже не срабатывает, так как переход осуществляется по первой ф-ции header :-D

Есть ли у кого какие идеи? И вообще, возможно ли это?
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Гм. У тебя направление отправки разное.
POST - это клиент шлёт заголовки & сообщение серверу, а header - это сервер шлёт заголовки клиенту.
Даже самый дурацкий замысел можно воплотить мастерски
Ответить