非常に単純なフォームを持つページをテストしています。
<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
保存されているネットワーク上のローカルマシンからページをテストすると、正しく通過します。他の場所では、これは当てはまりません。サイトは機能しません。私はこのタイプのスクリプトを何ヶ月も問題なく使用しており、外部のユーザーは問題なく接続できているため、これは非常に奇妙です。ディレクトリのパーミッションの問題だと思いますが、もっと情報がないと確信が持てません。