非常に単純なフォームを持つページをテストしています。
<form action="script/check.php" method = "post">
<input type = "text" name = "email">
<input type = "submit">
</form>
ファイルに次のコードがある場合、check.php正常に動作します。
<?
var_dump($_POST);
?>
期待どおり、出力はarray(1) { ["email"]=> string(5) "hello" }です。
check.phpを含む場合session_start()、$_POST空になります。
<?
session_start();
var_dump($_POST);
?>
出力はarray(0) { }です。
この問題を検索するのは困難です。残念ながら、これらの検索用語でオンラインで見つけた結果のほとんどは空の$_SESSION変数に関するものであり、私にとっては問題ではありません。問題は$_POST空です。
サーバーが$_POST保存されているネットワーク上のローカルマシンからページをテストすると、正しく通過します。他の場所では、これは当てはまりません。サイトは機能しません。私はこのタイプのスクリプトを何ヶ月も問題なく使用しており、外部のユーザーは問題なく接続できているため、これは非常に奇妙です。ディレクトリのパーミッションの問題だと思いますが、もっと情報がないと確信が持てません。