webかたつむり ウェブデザインを勉強中 ウェブ初心者のおぼえがき

webかたつむり

WEB制作会社のフォトグラファー

php 課題 その5 session

  • まぁ、混乱しているので段取り良くは説明できない。
  • フォームを送る、サーバーが受け取る。
  • サーバでは受け取ったデータを、「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>';
}
?>

 

f:id:ohta-felica:20160727214348p:plain