PHP での POST リクエストの誤動作への対処
提示されたコード スニペット内:
<?php echo $_POST['ss'];?><br><form action="<?php echo $_SERVER['PHP_SELF'];?>" Method="post"><br><input name="ss" type="text" /><br><input type="submit" name="submit"><br></ form><br>
その目的は、テキスト ボックスからの入力をキャプチャし、送信ボタンがクリックされたときに表示することです。ただし、出力は空白のままです。 Method="get" はシームレスに機能しますが、method="post" では問題が発生します。
POST リクエストのトラブルシューティング
この問題を解決するには、次の手順を検討してください。 :
アクション属性を確認します:
ページを更新している場合は、アクション属性を空の文字列に設定します。例:
<code class="php">action=''</code>
代わりに:
<code class="php">action="<?php echo $_SERVER['PHP_SELF'];?>"</code>
POST データ処理の構成:
POST データを適切に処理するには、PHP ファイルの先頭に次の行を追加します:
<code class="php">if(empty($_SERVER['CONTENT_TYPE'])) { $_SERVER['CONTENT_TYPE'] = "application/x-www-form-urlencoded"; }</code>
php.ini 設定を確認します:
php.ini ファイルに次の設定が存在することを確認します:
<code class="ini">post_max_size = 8M variables_order = "EGPCS"</code>
Apache を再起動します (必要な場合):
php.ini を変更し、PHP が Apache として実行される場合モジュールの場合、
<code class="bash">sudo /etc/init.d/httpd restart</code>
以上がコードが有効であるにもかかわらず、POST リクエストが PHP の入力をキャプチャしないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。