Sono un novizio PHP e sto avendo un problema con la variabile POST talvolta essere vuoto quando li presento. La parte che rende questo difficile per me capire è che questo non accade ogni volta, e di solito riesco a ottenere i dati del post nel mio programma PHP semplicemente aggiornando la pagina. A volte ci vorranno alcune volte, ma una volta che i dati sono passati una volta, continueranno a venire bene.
Altre applicazioni PHP (Wordpress e altri) funzionano bene e non danno mai errori, quindi sono abbastanza sicuro che c'è un problema con la mia app php.
ho PHP 4.2.9 installato su un server CentOS 5.2, e hanno KeepAliveTimeout impostato su 1.
Il codice per l'applicazione in cui elaborare i dati presentati:
<?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);
?>
Qualsiasi aiuto tutto sarebbe apprezzato
Modifica: Ho trovato una differenza tra le richieste di post di lavoro e quelle che falliscono. Firebug mi dice che quando il post fallisce, lo stato è un reindirizzamento 302 invece di 200 ok. Non sono davvero sicuro di cosa possa causarlo, ma ho il controllo della cache dell'intestazione nel modulo di invio proprio come appare nello snippet di codice sopra.
Qualche idea?
Come funziona il modulo di guardare come si sta postando con? –
Succede in tutti i browser? – DisgruntledGoat
puoi anche controllare la variabile $ _REQUEST che contiene i vasi e ottenere i dati – NDM