リダイレクトでPOSTの確認
入力値の確認
POST値の確認を別ページにせずに現在のページで処理する方法である。
ソース
入力および確認のページのソースは次のとおりである。
<?php /** * POST値が記入されていない場合、このページに戻る。 */ session_start(); if(!empty($_POST)){ if($_POST['name'] == '') { $error['name']='blank'; } // エラーがない場合、sessionに変数を保存して、 // headerで次のページに飛ばす。 if(empty($error)) { $_SESSION['join'] = $_POST; header('Location: check.php'); exit(); } } ?> <form action="" method="post" enctype="multipart/form-data"> 名前:<br /> <input type="text" name="name" size="50" /> <?php if($error['name']=='blank'): ?> <br />名前を記入してください。<br /> <?php endif; ?> <input type="submit" value="送信" /> </form>
入力値を確認してOKだった場合のページの遷移先は次の「check.php」である。
<?php session_start(); echo '無事記入されています。'; $name = $_SESSION['join']['name']; echo '名前:'.$name;