私は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);
?>
すべてのヘルプを
編集:私は仕事の投稿の要求と失敗する仕事の間に1つの違いがあることを発見しました。 Firebugは、投稿に失敗した場合、状況は200 OKの代わりに302リダイレクトであることを伝えます。 私は実際に何が起こるのかはわかりませんが、上記のコードスニペットと同じように、フォームを送信する際にヘッダーキャッシュコントロールを持っています。
アイデア?
投稿するとどのようにフォームが表示されますか? –
これはすべてのブラウザで発生しますか? – DisgruntledGoat
ポットを保持してデータを取得する$ _REQUEST変数を確認することもできます – NDM