入力エラーチェック
入力エラーチェック
≪index.php≫
<?php //初期化 $yname = ''; $yage = ''; $ytel = ''; // セッションの開始 session_start(); if(isset($_SESSION['your_name'])){ $yname = $_SESSION['your_name']; } if(isset($_SESSION['your_age'])){ $yage = $_SESSION['your_age']; } if(isset($_SESSION['your_tel'])){ $ytel = $_SESSION['your_tel']; } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>POSTで送信</title> </head> <body> <form action="check.php" method="post"> <p>お名前:<input type="text" name="your_name" value="<?php echo $yname; ?>"></p> <p>年齢:<input type="text" name="your_age" value="<?php echo $yage; ?>"></p> <p>電話番号:<input type="text" name="your_tel" value="<?php echo $ytel; ?>"></p> <input type="submit" value="送信"> </form> </body> </html>
≪check.php≫
<?php //issetは変数の中に値があるか、もしくは変数自体が存在するか確認する関数 if( !isset($_POST[ 'your_name' ]) || !isset($_POST[ 'your_age' ]) || !isset($_POST[ 'your_tel' ])){ // 'Location:パス(path)でその場所に遷移する' header( 'Location: index.php' ); exit; } // セッションの開始 session_start(); // 入力値の取得 $yname = htmlspecialchars($_POST['your_name'], ENT_QUOTES, 'UTF-8'); $yage = htmlspecialchars($_POST['your_age'], ENT_QUOTES, 'UTF-8'); $ytel = htmlspecialchars($_POST['your_tel'], ENT_QUOTES, 'UTF-8'); // 入力値をセッション変数に格納 $_SESSION['your_name'] = $yname; $_SESSION['your_age'] = $yage; $_SESSION['your_tel'] = $ytel; // 入力値のチェック if (empty($_POST[ 'your_name' ])) { echo 'お名前を入力してください。'; echo '<p><a href="index.php">入力画面へ戻る</a></p>'; exit; } if (empty($_POST[ 'your_age' ])) { echo '年齢を入力してください。'; echo '<p><a href="index.php">入力画面へ戻る</a></p>'; exit; } if (empty($_POST[ 'your_tel' ])) { echo '電話番号を入力してください。'; echo '<p><a href="index.php">入力画面へ戻る</a></p>'; exit; } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>POSTで受信</title> </head> <body> <p>お名前:<?php echo $yname ?></p> <p>年齢:<?php echo $yage ?></p> <p>電話番号:<?php echo $ytel ?></p> </body> </html>