2

私がやりたいことは、

  1. ユーザーは登録フォームに来ます。
  2. 入力し、Enter キーを押すと、登録が続行されます。
  3. 彼がそれを埋めていない場合は、Data Missing をエコーし​​ます。

行き詰まったところ、

  1. isset を使用すると、最初の訪問自体で Data Missing がエコーされますが、これは発生すべきではありません。

助言がありますか?

自分で学びたいので、コードを探していません。アイデアだけで十分です。

4

3 に答える 3

4

最初のフォーム ロードで、次の内容を確認します。$_SERVER['REQUEST_METHOD']

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  // Verify the form has been filled in 
  // If any are missing, display missing data message
  // and display the form again
}
else {
  // Just display the form for the first time
}

また、フォーム処理自体を行わないスクリプトからフォームを表示するpost-redirect-get patternを読むことをお勧めします。フォームは別のハンドラー スクリプトに送信され (それ自体に戻るのではなく)、すべての検証とアクションが実行され、最終的に新しい場所にリダイレクトされるか、エラーまたは不完全なデータの元のフォームに戻されます。

$_SERVERスーパーグローバル配列の詳細をお読みください。

于 2012-04-11T17:33:34.283 に答える
1

または、PHP アップロードを考慮することもできます- なぜ isset($_POST['submit']) は常に FALSEであり、 isset 関数についていくつかの有効なポイントを作成します。

于 2012-04-11T17:43:03.767 に答える