PHPサンプル
UPDATE:
PHP $_POST(ポスト変数)でフォーム(form)を作成する
[ $_POST(ポスト変数)の詳細説明はこちらを参照下さい。 ]
「$_POST(ポスト)」でフォーム作成
1 入力 phpsample-form-post.php
↓
2 確認 phpsample-form-post2.php
↓
3 完了 phpsample-form-post3.php
1入力 phpsample-form-post.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | <!-- サンプルコード --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <meta name="robots" content="index"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <head> <title>POSTフォーム</title> </head> <body> <?php //$htmlを初期化 $html = array(); //戻りの場合 if(isset($_POST['back'])){ //htmlentities()でHTMLコードをエスケープします。 $html['name'] = htmlentities($_POST['name'], ENT_QUOTES, 'UTF-8'); $html['hoby']['reading'] = htmlentities($_POST['hoby']['reading'], ENT_QUOTES, 'UTF-8'); $html['hoby']['appreciate'] = htmlentities($_POST['hoby']['appreciate'], ENT_QUOTES, 'UTF-8'); $html['hoby']['trip'] = htmlentities($_POST['hoby']['trip'], ENT_QUOTES, 'UTF-8'); $html['maintext'] = htmlentities($_POST['maintext'], ENT_QUOTES, 'UTF-8'); //初期値 }else{ //初期化 $html['name'] = ''; $html['hoby']['reading'] = ''; $html['hoby']['appreciate'] = ''; $html['hoby']['trip'] = ''; $html['maintext'] = ''; } ?> <h3>1入力</h3> <form action="phpsample-form-post2.php" method="POST"> <table border="1"> <tr> <td>名前</td> <td><input type="text" name="name" value="<?php echo $html['name']; ?>" size=48></td> </tr> <tr> <td>趣味</td> <td> <input type="checkbox" name="hoby[reading]" value="reading"<?php if($html['hoby']['reading'] == 'reading') echo ' checked'; ?>>読書 <input type="checkbox" name="hoby[appreciate]" value="appreciate"<?php if($html['hoby']['appreciate'] == 'appreciate') echo ' checked'; ?>>鑑賞 <input type="checkbox" name="hoby[trip]" value="trip"<?php if($html['hoby']['trip'] == 'trip') echo ' checked'; ?>>旅行 </td> </tr> <tr> <td>お問合せ内容</td> <td><textarea name="maintext" cols="50" rows="10"><?php echo $html['maintext']; ?></textarea></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" name="confirm" value="- 入力内容の確認 -"> <input type="reset" value="リセット" name="reset" onClick="Frest()"> </td> </tr> </table> </form> </body> </html> |
2確認 phpsample-form-post2.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | <!-- サンプルコード --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <meta name="robots" content="index"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <head> <title>POSTフォーム</title> </head> <body> <?php //変数初期化 $html = array(); $cln = array(); $strError = ''; //確認ボタンが押されていれば if(isset($_POST['confirm'])){ //名前 フィルタリング 30文字以内 if(isset($_POST['name']) && $_POST['name'] != ''){ $cln['name'] = $_POST['name']; //マルチバイト文字列を含めた文字数 if(mb_strlen($cln['name']) <= 30){ //htmlentities()でHTMLコードをエスケープします。 $html['name'] = htmlentities($cln['name'], ENT_QUOTES, 'UTF-8'); }else{ $strError .= "名前を30文字以内にして下さい。<br>\n"; $html['name'] = ''; } }else{ $html['name'] = ''; }//end //選択読書 フィルタリング if(isset($_POST['hoby']['reading']) && $_POST['hoby']['reading'] != ''){ $cln['hoby']['reading'] = $_POST['hoby']['reading']; //値のチェック if($cln['hoby']['reading'] === 'reading'){ //htmlentities()でHTMLコードをエスケープします。 $html['hoby']['reading'] = $cln['hoby']['reading']; }else{ $strError .= "読書の選択肢が不正です。<br>\n"; $html['hoby']['reading'] = ''; } }else{ $html['hoby']['reading'] = ''; }//end //選択鑑賞 フィルタリング if(isset($_POST['hoby']['appreciate']) && $_POST['hoby']['appreciate'] != ''){ $cln['hoby']['appreciate'] = $_POST['hoby']['appreciate']; //値のチェック if($cln['hoby']['appreciate'] === 'appreciate'){ //htmlentities()でHTMLコードをエスケープします。 $html['hoby']['appreciate'] = $cln['hoby']['appreciate']; }else{ $strError .= "鑑賞の選択肢が不正です。<br>\n"; $html['hoby']['appreciate'] = ''; } }else{ $html['hoby']['appreciate'] = ''; }//end //選択旅行 フィルタリング if(isset($_POST['hoby']['trip']) && $_POST['hoby']['trip'] != ''){ $cln['hoby']['trip'] = $_POST['hoby']['trip']; //値のチェック if($cln['hoby']['trip'] === 'trip'){ //htmlentities()でHTMLコードをエスケープします。 $html['hoby']['trip'] = $cln['hoby']['trip']; }else{ $strError .= "旅行の選択肢が不正です。<br>\n"; $html['hoby']['trip'] = ''; } }else{ $html['hoby']['trip'] = ''; }//end //お問合せ内容 フィルタリング 300文字以内 if(isset($_POST['maintext']) && $_POST['maintext'] != ''){ $cln['maintext'] = $_POST['maintext']; //マルチバイト文字列を含めた文字数 if(mb_strlen($cln['maintext']) <= 300){ //htmlentities()でHTMLコードをエスケープします。 $html['maintext'] = htmlentities($cln['maintext'], ENT_QUOTES, 'UTF-8'); }else{ $strError .= "お問合せ内容を300文字以内にして下さい。<br>\n"; $html['maintext'] = ''; } }else{ $html['maintext'] = ''; }//end //フィルタリングでエラーがあれば if($strError != ''){ echo $strError."<br>\n"; ?> <form action="phpsample-form-post.php" method="POST"> <input type="hidden" name="name" value="<?php echo $html['name']; ?>"> <input type="hidden" name="hoby[reading]" value="<?php echo $html['hoby']['reading']; ?>"> <input type="hidden" name="hoby[appreciate]" value="<?php echo $html['hoby']['appreciate']; ?>"> <input type="hidden" name="hoby[trip]" value="<?php echo $html['hoby']['trip']; ?>"> <input type="hidden" name="maintext" value="<?php echo $html['maintext']; ?>"> <input type="submit" name="back" value="- 戻る -"> </form> </div> <hr/> </body> </html> <?php exit; } //確認ボタンが押されていなければ }else{ ?> 確認ボタンを押して下さい。<br> <a href="phpsample-form-post.php">入力へ</a> </div> <hr/> </body> </html> <?php exit; } ?> <h3>2確認</h3> <table border="1"> <tr> <td>名前</td> <td><?php echo $html['name']; ?></td> </tr> <tr> <td>趣味</td> <td> <?php if($html['hoby']['reading'] == 'reading') echo '読書<br>'; ?> <?php if($html['hoby']['appreciate'] == 'appreciate') echo '完了<br>'; ?> <?php if($html['hoby']['trip'] == 'trip') echo '旅行<br>'; ?> </td> </tr> <tr> <td>お問合せ内容</td> <td><?php echo nl2br($html['maintext']); ?></td> </tr> </table> <form action="phpsample-form-post.php" method="POST"> <input type="hidden" name="name" value="<?php echo $html['name']; ?>"> <input type="hidden" name="hoby[reading]" value="<?php echo $html['hoby']['reading']; ?>"> <input type="hidden" name="hoby[appreciate]" value="<?php echo $html['hoby']['appreciate']; ?>"> <input type="hidden" name="hoby[trip]" value="<?php echo $html['hoby']['trip']; ?>"> <input type="hidden" name="maintext" value="<?php echo $html['maintext']; ?>"> <input type="submit" name="back" value="- 戻る -"> </form> <br> <form action="phpsample-form-post3.php" method="POST"> <input type="hidden" name="name" value="<?php echo $html['name']; ?>"> <input type="hidden" name="hoby[reading]" value="<?php echo $html['hoby']['reading']; ?>"> <input type="hidden" name="hoby[appreciate]" value="<?php echo $html['hoby']['appreciate']; ?>"> <input type="hidden" name="hoby[trip]" value="<?php echo $html['hoby']['trip']; ?>"> <input type="hidden" name="maintext" value="<?php echo $html['maintext']; ?>"> <input type="submit" name="comp" value="- 完了へ -"> </form> </body> </html> |
3完了 phpsample-form-post3.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | <!-- サンプルコード --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <meta name="robots" content="index"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <head> <title>POSTフォーム</title> </head> <body> <?php //変数初期化 $html = array(); $cln = array(); $strError = ''; //完了ボタンが押されていれば if(isset($_POST['comp'])){ //名前 フィルタリング 30文字以内 if(isset($_POST['name']) && $_POST['name'] != ''){ $cln['name'] = $_POST['name']; //マルチバイト文字列を含めた文字数 if(mb_strlen($cln['name']) <= 30){ //htmlentities()でHTMLコードをエスケープします。 $html['name'] = htmlentities($cln['name'], ENT_QUOTES, 'UTF-8'); }else{ $strError .= "名前を30文字以内にして下さい。<br>\n"; $html['name'] = ''; } }else{ $html['name'] = ''; }//end //選択読書 フィルタリング if(isset($_POST['hoby']['reading']) && $_POST['hoby']['reading'] != ''){ $cln['hoby']['reading'] = $_POST['hoby']['reading']; //値のチェック if($cln['hoby']['reading'] === 'reading'){ //htmlentities()でHTMLコードをエスケープします。 $html['hoby']['reading'] = $cln['hoby']['reading']; }else{ $strError .= "読書の選択肢が不正です。<br>\n"; $html['hoby']['reading'] = ''; } }else{ $html['hoby']['reading'] = ''; }//end //選択鑑賞 フィルタリング if(isset($_POST['hoby']['appreciate']) && $_POST['hoby']['appreciate'] != ''){ $cln['hoby']['appreciate'] = $_POST['hoby']['appreciate']; //値のチェック if($cln['hoby']['appreciate'] === 'appreciate'){ //htmlentities()でHTMLコードをエスケープします。 $html['hoby']['appreciate'] = $cln['hoby']['appreciate']; }else{ $strError .= "鑑賞の選択肢が不正です。<br>\n"; $html['hoby']['appreciate'] = ''; } }else{ $html['hoby']['appreciate'] = ''; }//end //選択旅行 フィルタリング if(isset($_POST['hoby']['trip']) && $_POST['hoby']['trip'] != ''){ $cln['hoby']['trip'] = $_POST['hoby']['trip']; //値のチェック if($cln['hoby']['trip'] === 'trip'){ //htmlentities()でHTMLコードをエスケープします。 $html['hoby']['trip'] = $cln['hoby']['trip']; }else{ $strError .= "旅行の選択肢が不正です。<br>\n"; $html['hoby']['trip'] = ''; } }else{ $html['hoby']['trip'] = ''; }//end //お問合せ内容 フィルタリング 300文字以内 if(isset($_POST['maintext']) && $_POST['maintext'] != ''){ $cln['maintext'] = $_POST['maintext']; //マルチバイト文字列を含めた文字数 if(mb_strlen($cln['maintext']) <= 300){ //htmlentities()でHTMLコードをエスケープします。 $html['maintext'] = htmlentities($cln['maintext'], ENT_QUOTES, 'UTF-8'); }else{ $strError .= "お問合せ内容を300文字以内にして下さい。<br>\n"; $html['maintext'] = ''; } }else{ $html['maintext'] = ''; }//end //フィルタリングでエラーがあれば if($strError != ''){ ?> 不正なエラーです。<br> <a href="phpsample-form-post.php">入力へ</a> </div> <hr/> </body> </html> <?php exit; } //完了ボタンが押されていなければ }else{ ?> 完了ボタンを押して下さい。<br> <a href="phpsample-form-post.php">入力へ</a> </div> <hr/> </body> </html> <?php exit; } ?> <h3>3完了</h3> <table border="1"> <tr> <td>名前</td> <td><?php echo $html['name']; ?></td> </tr> <tr> <td>趣味</td> <td> <?php if($html['hoby']['reading'] == 'reading') echo '読書<br>'; ?> <?php if($html['hoby']['appreciate'] == 'appreciate') echo '完了<br>'; ?> <?php if($html['hoby']['trip'] == 'trip') echo '旅行<br>'; ?> </td> </tr> <tr> <td>お問合せ内容</td> <td><?php echo nl2br($html['maintext']); ?></td> </tr> </table> <form action="phpsample-form-post.php" method="POST"> <input type="submit" name="input" value="- 入力へ -"> </form> </body> </html> |
タグ(=記事関連ワード)
日付
投稿日:2017年3月30日
最終更新日:
最終更新日:
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/phpsample-form-post/trackback/