Я новичок в PHP, и у меня возникает проблема с переменной POST, которая иногда пуста, когда я отправляю их. Часть, которая делает это трудным для меня, чтобы понять это то, что это происходит не каждый раз, и я обычно могу получить данные поста в моей программе PHP, просто обновив страницу. Иногда это может занять несколько раз, но как только данные пройдут один раз, они будут продолжать проходить нормально.
Другие приложения PHP (Wordpress и другие) работают нормально и никогда не выдают ошибок, поэтому я почти уверен, что с моим приложением php есть проблема.
У меня установлен PHP 4.2.9 на сервере CentOS 5.2, и KeepAliveTimeout имеет значение 1.
Код приложения, в котором я обрабатываю представленные данные:
<?php
session_start();
if (isset($_SESSION['username'])) {
$expire = time() + (60*60*24*30);
setcookie("username", $_SESSION['username'], $expire);
}
header("Cache-control: no-cache");
if (!isset($_SESSION['username'])) {
header('Location: ./login.php');
die();
}
if(empty($_SERVER['CONTENT_TYPE'])){
$type = "application/x-www-form-urlencoded";
$_SERVER['CONTENT_TYPE'] = $type;
}
var_dump($_POST);
echo "\n";
var_dump($_SERVER);
?>
Буду признателен за любую помощь
Редактировать: Я нашел одно различие между рабочими запросами к почте и теми, которые терпят неудачу. Firebug говорит мне, что когда сообщение терпит неудачу, статус перенаправления 302 вместо 200 ок.
Я не совсем уверен, что может вызвать это, но у меня есть контроль кэша заголовка в форме отправки, как это показано в приведенном выше фрагменте кода.
Есть идеи?