Soy un principiante de PHP y estoy teniendo un problema con la variable POST que algunas veces está vacía cuando las envío. La parte que me está haciendo esto difícil de entender es que esto no sucede todo el tiempo, y generalmente puedo obtener los datos de la publicación en mi programa PHP simplemente refrescando la página. Algunas veces tomará algunas veces, pero una vez que los datos hayan llegado una vez, continuarán bien.
Otras aplicaciones PHP (Wordpress y otras) funcionan bien y nunca dan ningún error, así que estoy bastante seguro de que hay un problema con mi aplicación php.
tengo PHP 4.2.9 instalado en un servidor CentOS 5.2, y tienen KeepAliveTimeout establece en 1.
El código de la aplicación en la que procesar los datos presentados:
<?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);
?>
Cualquier ayuda en absoluto sería apreciado
Editar: He encontrado una diferencia entre las solicitudes de trabajo y las que fallan. Firebug me dice que cuando la publicación falla, el estado es un redireccionamiento 302 en lugar de 200 correcto. No estoy seguro de qué puede causar eso, pero tengo el control de caché de encabezado en el formulario de envío tal como aparece en el fragmento de código anterior.
¿Alguna idea?
¿Cómo se ve el formulario con el que está realizando la transferencia? –
¿Esto sucede en todos los navegadores? – DisgruntledGoat
también puede verificar la variable $ _REQUEST que contiene los contenedores y obtener datos – NDM