• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPを勉強しながらメールフォームの作成をしています。)

メールフォーム作成時の値の受け渡し方法とエラー表示について

このQ&Aのポイント
  • PHPを勉強しながらメールフォームの作成をしています。メールフォームで値の受け渡しをしたいと思っていますが、初心者のためにSESSIONなどの方法は未学習です。具体的な方法やコードの書き方についてお教えください。
  • メールフォームから確認画面を表示する流れについて質問があります。具体的なソースコードを提示していますが、comfirm.phpに渡る際にエラー表示をしたいと思っています。名前が記入されていなかった場合にエラーメッセージを表示させるにはどのようにすればよいでしょうか。初心者なので、詳しい手順やサンプルコードを教えていただけると助かります。
  • 初心者ですが、名前が記入されていなかった場合にエラーメッセージを表示させる方法について教えてください。index.phpとcomfirm.phpのソースコードを提示しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

手法はいくつかありますが、 confirm.phpの最初のところで、POSTされてきた値が不正だったら、 <?php if(不正だったら){ //エラーを表示する処理 exit(); } ?> とすれば、エラー表示でプログラムが終了します。 以下にHTMLが書いてあっても、exitまでしか表示されなくなります。 エラーを表示する処理の中に、「戻るボタンで戻ってください」といった文言でも書いておけば、 ユーザはブラウザの戻るボタンで戻ると思います。 もしくは、エラー表示+index.phpで書いたHTMLと同等のものをそこに書いてやれば、index.phpに戻ったように表示されます。 いかがでしょうか。

h-h13
質問者

お礼

お忙しい中、ご回答有難う御座います。 戻るボタンでユーザが戻るのではなくindex.phpのサブミットをクリックした時点で表示をされるようにしたいのですが、下記のNO.1さんのおっしゃるとおりJavascriptを使用しないとダメでしょうか?

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

Javascriptで実装した場合でも、結局JavascriptをOffにされた場合に、正しく動作出来ないので、PHP側での処理は必須と思います。 結局、効率は悪いですが、confirm.phpの方には、if文で振り分けて、二種類のHTMLを記述する必要があります。 ----confirm.php-------- <?php if(不正な値があった場合){ //この中に、index.phpと同じ内容(+エラーメッセージ)のHTMLを記述する。 ?> <html> <body> <div>不正な文字がありました。</div> <input type="text" name="name" value="<?php echo htmlspecialchars($_POST['name'], ENT_QUOTES)?>" /> ・・・・・・・ </body> </html> <?php }else{ //この中に、確認画面のHTMLを記述する。 ?> <html> 確認画面ですよ ・・・・・・・・・・・ </html> <?php } ?> こんな感じで。 もし、index.phpと同じ記述を何度もすることに疑問があるのであれば、試行錯誤してみてください。 godcaseさんの書いたように、全部index.php内で処理する方法もあります。

すると、全ての回答が全文表示されます。
  • godcase
  • ベストアンサー率33% (4/12)
回答No.3

confirm.phpにエラー表示じゃなく、index.phpにエラー表示? 参考にしたサイトがJavascを使ってたらJavascで作ったらいいのに。 無理やりだけどindex.phpで。 if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) { 質問文内のconfirm.phpの部分+#2の方のエラー表示 }else { 質問文内のindex.phpの部分 } 素直にJavascでやったら?

すると、全ての回答が全文表示されます。
回答No.1

comfirm.phpにPOSTで渡してからなら普通に$nameなどのチェックする値が空かどうかのチェックをすれば良いだけ。 if文くらい分かるよな? comfirm.phpにデータが渡される前にチェックをしたければindex.phpの段階でJavaScriptでチェック処理をする。 それよりindex.phpはPHPにしておく必要はあるのか?そのソースならhtmlで十分だろ。

h-h13
質問者

お礼

お忙しい中、ご回答有難う御座います。 if文もかねて今勉強しております。 やはりJavascriptを使わないとダメなんでしょうか? Javascriptは全然勉強をしていなかったため、わからず困っています・・・

すると、全ての回答が全文表示されます。

関連するQ&A