- まぁ、混乱しているので段取り良くは説明できない。
- フォームを送る、サーバーが受け取る。
- サーバでは受け取ったデータを、「action」で指定されたhtmlファイルに持っていく。
- 受け取り側のファイル「getform.php」の中では、受け取った「POST」データの値が不正でないかチェックする。
- たとえば空っぽのデータだったり、指定された方のデータ出なかったりといったことをチェックする。このことをエスケープ処理という。
- まずはこの部分。
<?php
$recipe_name=$_POST['recipe_name'];
$category=$_POST['category'];
$difficulty=$_POST['difficulty'];
$budget=$_POST['budget'];
$howto=$_POST['howto'];
//とれている値を変換するif($category==='1'){
$category='和食';
}
if($category==='2'){
$category='中華';
}
if($category==='3'){
$category='洋食';
}if($difficulty==='1'){
$difficulty='簡単';
}
if($difficulty==='2'){
$difficulty='簡単';
}
if($difficulty==='3'){
$difficulty='普通';
}$budget=number_format($_POST['budget']);
$howto=nl2br(htmlspecialchars($_POST['howto'],ENT_QUOTES, 'utf-8'));
//ここまで出力した値をsessionに記録する。セッションの値を設定。
//値を綺麗に処理して、エスケープ処理して?、からセッションに記録。$_SESSION['recipe_name']=$recipe_name;
$_SESSION['category']=$category;
$_SESSION['difficulty']=$difficulty;
$_SESSION['budget']=$budget;
$_SESSION['howto']=$howto;//もう一度formに値を戻す時は、このsessionの値を戻す。
//これより後ろの記述は、フォームに値が入力されなかった時、form.phpに戻す記述。
if(empty($_POST['recipe_name'])){
echo '料理名を入力してください';
echo '<a href="form.php">入力フォームへ戻る<a>';
}
if(empty($_POST['category'])){
echo 'カテゴリーを入力してください';
echo '<a href="form.php">入力フォームへ戻る<a>';
}
if(empty($_POST['difficulty'])){
echo '難しさを入力してください';
echo '<a href="form.php">入力フォームへ戻る<a>';
}
if(empty($_POST['budget'])){
echo '予算を入力してください';
echo '<a href="form.php">入力フォームへ戻る<a>';
}
if(empty($_POST['howto'])){
echo '作り方を入力してください';
echo '<a href="form.php">入力フォームへ戻る<a>';
}
?>