HTMLフォームで入力チェック後、戻る方法について

このQ&Aのポイント
  • 質問文章のポイントは、HTMLフォームで入力チェックを行った後に戻る方法についてです。
  • 具体的には、フォームのaction属性に指定するPHPファイルで入力チェックを行い、戻って表示する方法を知りたいです。
  • 入力チェックで戻る場合、PHPファイルで入力チェックを行い、エラーがあればエラーメッセージを表示し、正常な場合は指定したHTMLファイルに戻って表示することができます。
回答を見る
  • ベストアンサー

入力チェックで戻る場合

htmlのフォームactionからphp側で入力チェックを行った場合 下記のようにすると別ページに表示されますが、html側に戻って 表示するにはどのように行えばよいでしょうか。 ---html--- <form action="abc.php" method="post" > <input type="text" name="ord[name]" size="30" VALUE=""> <input type="submit" name="button_confirm" value="確認画面" /> ---abc.php--- <html> <head><title>output</title></head> <body> <?php $name = $_POST["order"]["name"]; if ($name == null) { //エラー表示 print ("名前が未入力<br />"); } ?> </body> </html>

  • PHP
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • thezen5
  • ベストアンサー率84% (27/32)
回答No.3

他の方の言ってるようにjavascritp等でページを戻すのがいいんじゃないでしょうか。 以下のように半ば強制的に戻して余計なことをさせないようにするのも手かと思います。 <html> <head> <script language="javascript"> <!-- alert('名前が未入力です。入力してください。'); history.back(); //--> </script> </head> <body> </body> </html>

ekekojr
質問者

お礼

ありがとうございます! その方法をとることにしました!

その他の回答 (2)

回答No.2

元のファイルがHTMLの時点で、こちら側から入力値を戻すのは無理なので、 ブラウザの「戻る」の機能を使わせれば、大概のブラウザでは入力値はそのままです。 <a href="javascript:history.back();">戻る</a> とか <input type="button" value="戻る" onclick="history.back();">

ekekojr
質問者

お礼

ありがとうございます! 参考にさせて頂きます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

元のファイルをphpで作り、セッションのデータを引き継げるようにするのが妥当。

ekekojr
質問者

お礼

ありがとうございます! 参考にさせて頂きます。

関連するQ&A

  • 値の受け取り方

    nameタグが下記のようになっている場合、 PHPではどのように取得すれば良いのでしょうか? selectタグは取得できましたが、配列になっている場合の取得方法が分かりません。 ---HTML--- <form action="abc.php" method="post" > <input type="text" name="ord[name]" size="30" VALUE=""> <input type="text" name="ord[company]" size="30" VALUE=""> <select name="pref"> <option value="">-- 都道府県 --</option> <option value="北海道" >北海道</option> <option value="青森県" >青森県</option> <option value="岩手県" >岩手県</option> </select> ・ ・ ---abc.php--- <html> <head><title>output</title></head> <body> <?php $pref = $_POST['pref']; print ("次のデータを受け取りました<br />"); print ("住所:$pref<br />"); ?> </body> </html>

    • ベストアンサー
    • PHP
  • 入力フォームとファイル添付を同時に実行したい。

    PHPもhtmlもはじめたばかりの超初心者です。 入力フォームの文字と添付ファイルを同時にPOSTしたいの ですがjavascriptを使わないと無理でしょうか? ******************************** <html> <head> <title>TESTフォーム</title> </head> <body> <form action="test.php" method="post"> 名前:<br> <input type="text" name="name" size="30" value=""><br> <P> &nbsp;&nbsp;&nbsp;ジャンル:<br>  <input type="radio" name="bunrui" value="abc">あ  <input type="radio" name="bunrui" value="bbb">い  <input type="radio" name="bunrui" value="sss">う </P> &nbsp;&nbsp;&nbsp;内容:<br> <textarea name="comment" cols="50" rows="5"></textarea><br> <P> 添付:<input type="file" name="file1"> <P> <input type="submit" value="投稿する"> </form> </body> </html> ******************************** 添付の部分をどうやってtest.phpに渡せばよいかわかりません。 <form action="test2.php" method="post"> 添付:<input type="file" name="file1"> と付け加えても無駄というところまでは調べております。 個別に書いたphpで添付したファイルをsambaサーバーに保存 、入力フォームをtxtにしてsambaへ保存するところまではできました。 ただ同時実行だとどう書けばよいか悩んでおります。 こういうレベルは質問してはいけないんですかねえ・・・ どなたか教えていただけると幸いです。

  • checkbox の入力チェックのやり方について

    お世話になります。 フォームにて、 javascriptで、入力チェックをおこないたいと思っています。 チェックボックスについては、どれか選択が一つでもなければ、アラートで、文字を出したいと思いますが、うまくできません。 チェックボックスの入力確認の方法を教えてください。 よろしくお願いいたします。 現在作りかけのソースは、下記の通りです。 <html> <head><title>-</title></head> <body> <form method="post" action="" onsubmit="return form_Validator(this)"> <input type="text" name="a1" size="15" maxlength="12"> <BR> <input type="checkbox" name="a1001" value="1"> <input type="checkbox" name="a1002" value="1"> <input type="submit" value="登録" name="submit"> </form> <script Language="JavaScript"> <!-- function form_Validator(doc) { if ( doc.a1.value == "" ) { alert( "BAD" ); return false; } /* a1001かa1002のチェックボックスのチェックがなければアラート----*/ return (true); } //--> </script> </body> </html>

  • メールフォームの値保持

    メールフォームを作成しているのですが、値をセッションにて保持したいのですが上手くできません。 考え方が誤っているような気がするので、指摘いただけないでしょうか。どうかよろしくお願いします。 以下のような3画面移動で、値を保持したいのです。 入力==================================================================== <html><head><title>入力</title></head> <body> <form action="confirm.php" method="post"> 魚は好きですか?<BR> はい<input type="radio" name="fish" value="yes"><BR> いいえ<input type="radio" name="fish" value="no"><BR><BR> <input type="submit" value="送信"> </body> </html> 確認==================================================================== <?php session_start(); $fish = $_POST["fish"]; $_SESSION["fish"] = $fish; ?> <html><head><title>テスト確認画面</title></head> <body> <?php print("変数fishの値は".$_SESSION["fish"]."です。"); ?> <form action="output.php" method="post"> <input type="submit" value="次ページへ値を渡す"> </body> </html> 完了==================================================================== <?php session_start(); ?> <html> <head><title>テスト完了画面</title></head> <body> <?php print("変数fishの値は".$fish."です。"); ?> </body> </html>

    • ベストアンサー
    • PHP
  • チェックボックスで複数選択する方法教えて下さい

    いつもありがとうございます。 00.PHPというファイルにチェックボックスを配置して複数選択し 同じ00.phpにPOSTで情報送り、表示させたいのですが、 下記の記述では「Array」としか表示されません。 検索結果を最終的にはMYSQLにデータ登録をしたいのですが うまくいきません。御指導お願いします。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>無題ドキュメント</title> </head> <body> <? echo $_POST["working_days"] ?> <form action="00.php" method="post">  <label>  <input type="checkbox" name="working_days[1]" value="1"> ド短期1日~OK <input type="checkbox" name="working_days[2]" value="2"> 週2、3日程度  <input type="checkbox" name="working_days[3]" value="3"> 月~金曜日 <input type="checkbox" name="working_days[4]" value="4"> 土日祝日のみ <input type="checkbox" name="working_days[5]" value="5"> 毎日オールフリー</label>      <input type="submit" name="Submit" value="登録"> </form> </body> </html>

    • ベストアンサー
    • PHP
  • 入力チェックについて

    今、メールフォームを作っているのですがHTMLで入力してもらいkakunin.phpでチェックします。入力ミスがあれば、error.htmlへミスが無ければそのままkakunin.phpで表示したいのですが、中々上手くいきません。長い文で恐縮ですがよろしければご教授ください。 ★HTML★ <form name="form1" method="post" action="kakunin.php"> <td width="64">お名前</td> <td width=<input type="text" name="name"></td> </tr> </table> <input type="submit" name="Submit" value="送信"> </form> ★kakunin.php★ <?php $name=$_POST["name"] $Submit=$_POST["Submit"] //記入チェック if($Submit=="送信") { if (empty ($name)){ header("Location: error.html"); exit; } } ?>

    • ベストアンサー
    • PHP
  • チェックボックスから、データベース入力

    HTMLのチェックボックスから、データベースにデータ入力する仕組みを検討しております。 HTMLページでチェックされたものは、keywordカラムに入力されるようにしたいと考えております。 1) HTMLページ <? require('../include/init.inc'); $email = $_POST{'email'}; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> <FORM name="myFORM"> <INPUT type="checkbox" name="name[]" onclick="chg()" value="aaa">:aaa <INPUT type="checkbox" name="name[]" onclick="chg()" value="bbb">:bbb <INPUT type="checkbox" name="name[]" onclick="chg()" value="ccc">:ccc <INPUT type="checkbox" name="name[]" onclick="chg()" value="ddd">:ddd <INPUT type="checkbox" name="name[]" onclick="chg()" value="eee">:eee <INPUT type="checkbox" name="name[]" onclick="chg()" value="fff">:fff </body> </FORM> <form action="Test1.php" method="post"> <input type=submit value='選択'>  → ここで配列のデータを変数に入れる処置が必要? 2) Test1.php <? require('../include/init.inc'); $email = $_POST{'email'}; $name = $_POST{'name'}; var_dump($HTTP_POST_VARS); $sql = "BEGIN; update mailing_list_sentaku set keyword = '$name' where mailing_list_name = '$email'; COMMIT;"; pg_query("$sql"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> </head> <body> ・データベース  - postgresql 8.1.9  - PHP 5.2.1 postgres=# \d mailing_list_sentaku  ・mailing_list_name : character varying(40)  ・keyword : character varying(200) 現状は、Test1.phpにもデータが渡っておらず、原因がつかめていない状況です。ご協力よろしくお願いいたします。

  • POSTできない

    いま、phpを勉強中です。 そこで簡単なコードを書いてテスト&トライしてますがいきなりつまずいてます… <HTML> <HEAD> <TITLE>post request</TITLE> </HEAD> <BODY> <FORM ACTION="sample.php" METHOD="POST"> 名前:<input type="text" name="myname" value=""> <input type="submit" name="cmd" value="送信"> </FORM> <?php print "入力された文字は?".$myname . "<BR>"; ?> </BODY> </HTML> これを実行し、フォームに文字を入れて送信しても画面にでてきません。"入力された文字は?"だけが表示されたままです。(送信を押すと砂時計がでるのでプログラム自体は走っていると思います) postを使う場合どこか設定をしないといけないのですか??よろしくお願いします。

    • ベストアンサー
    • PHP
  • ボタンを押下するとダウンロードのダイアログが表示されてしまいます…

    ご教授お願いします。 PC&PHP初心者です。 参考書に沿ってPHPの勉強をしているのですが、以下のプログラムが思うように動作しません。 ***************************************************** addressbook.html <html> <head><title>addressinput.html</title></head> <body> 入力フォーム <form action = "addressinput.php" method = "post"> <table border = "1"> <tr> <td>名前</td> <td><input type = "text" name = "name"></td> </tr> <tr> <td colspan = "2" align = "center"> <input type = "submit" value = "入力"></td> </tr> </table> </form> </body> </html> ***************************************************** addressinput.php <html> <head><title>addressinput.php</title></head> <body> <?php $name = $_POST[ 'name' ]; print( "次のデータを受け取りました。<br />" ); print( "名前:" . htmlspecialchars($name)."<br />" ); ?> </body> </html> ***************************************************** addressbook.htmlにある「入力」ボタンを押下するとaddressinput.phpに入力したデータが渡されて、入力したデータを表示させるというものですが、何故かボタンを押下するとダウンロードのダイアログが表示されてしまい困っています。 これってなにか設定が必要なのでしょうか?

    • ベストアンサー
    • PHP
  • PHPの入力チェック

    PHPの初心者です。初歩的な質問ですみません。 以下の機能を実現したいと考えています。 ・会員情報を入力する画面(aaa.php)で、各入力項目のチェックを行い、  正常なら確認画面(bbb.php)へ  異常値なら画面や入力内容はそのままの画面(aaa.php)でエラーメッセージを表示 ※チェックはaaa.php内で行う 「aaa.php」内でチェックするには、以下のように「form action="/aaa.php" 」と記載しないといけないと思いますが、 <form action="/aaa.php" method="post"> 氏名<input type="text" name="name" value="<?= $name ?>"><br> <input type="submit" name="action" value="登録"><br> </form> ↓ validateMaxLength などでチェック このチェック後にaaaから、bbb.phpに入力値を渡してコールする方法が分からないのです。

    • ベストアンサー
    • PHP

専門家に質問してみよう