У меня есть HTML-форма POSTing к следующему index.php:
<?php require_once("/home/full/path/to/included/file.php"); ?>
И в file.php я пытаюсь получить доступ к $ _POST:
ob_start();
session_start();
var_dump($_POST);
$contents = ob_get_contents();
ob_end_clean();
echo $contents;
Но var_dump($ _POST) возвращает пустой массив.
Перемещение функций ob в index.php не имеет никакого эффекта.
Если я поставлю var_dump ($ _ POST) перед ob_start (), ИЛИ, если я вообще удаляю буферизацию вывода, проблема исчезает, но мне нужна буферизация вывода.Поэтому, пытаясь разобраться в проблеме, я попытался отправить данные формы в файл test.php:
ob_start();
$session_start;
var_dump($_POST);
$contents = ob_get_contents();
ob_end_clean();
echo $contents;
И все отобразилось нормально.Так что проблема с моим file.php заключается в том, что он включен и использует буферизацию вывода.Вы видите проблему с моей настройкой?Почему нельзя получить доступ к $ _POST с помощью включенного буфера вывода с буферизацией?Вы видите способ исправить это или альтернативу?Спасибо.
РЕДАКТИРОВАТЬ: Еще один возможный фактор: мой HTML-тег формы это:
<form action="/" method="POST">
Я использую mod_rewrite, чтобы перенаправить его в index.php.Я пытаюсь action = "/ index.php" и ничего не меняется, поэтому это не должно иметь значения.