8/21授業(メモ)

<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>お問い合わせ入力フォーム</title>
<link href="style.css" rel="stylesheet" media="screen, print">
</head>
<body>
<form action="check.php" method="post" id="inquiry">
<table summary="お問い合わせに関する入力項目名とその入力欄">
<tr>
<th><label for="name">名前</label></th>
<td><input type="text" name="name" size="30" id="name" class="text1"></td>
</tr>
<tr>
<th><label for="email">メールアドレス</label></th>
<td><input type="text" name="email" size="30" id="email" class="text2"></td>
</tr>
<tr>
<th><label for="message">ご意見</label></th>
<td><textarea name="message" cols="30" rows="5" class="text3" id="message"></textarea></td>
</tr>
</table>
<input type="submit" value="確認画面へ">
</body>
</html>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>確認画面</title>
<link href="style.css" rel="stylesheet" media="screen, print">
</head>
<body>
<?php
 $name = $_POST['name'];
 $email = $_POST['email'];
 $message = $_POST['message'];
 
 $name = htmlspecialchars($name);
 $email = htmlspecialchars($email);
 $message = htmlspecialchars($message);
 
  echo '<ul>'."\n";
  echo '<li>';
    if($name=='') {
        echo 'お名前が、入力されていません。';
    } else {
        echo 'ようこそ、'.$name.'';
    }
  echo '</li>'."\n";
  echo '<li>';
    if($email=='') {
        echo 'メールアドレスが、入力されていません。';
    } else {
        echo 'メールアドレス:'.$email;
    }
  echo '</li>'."\n";
  echo '<li>';		
    if($message=='') {
        echo 'お問い合わせの内容が、入力されていません。';
    } else {
        echo 'お問い合わせの内容:'.$message;
    }
  echo '</li>'."\n";
  echo '</ul>'."\n";

if($name=='' || $email=='' || $message=='') {
  echo '<form>'."\n";
  echo '<input type="button" onClick="history.back()" value="戻る">'."\n";;
  echo '</form>'."\n";	
} else {
  echo '<form action="thanks.php" method="post">'."\n";
	echo '<input type="hidden" name="name" value="'.$name.'">';
	echo '<input type="hidden" name="email" value="'.$email.'">';
	echo '<input type="hidden" name="message" value="'.$message.'">';
  echo '<input type="button" onClick="history.back()" value="戻る">'."\n";
  echo '<input type="submit" value="送信">'."\n";
  echo '</form>'."\n";
}
?>
</body>
</html>
    • htmlspecialchars()で入力フォームでのタグを使ったりするなどのいたずらを防ぐ。
@charset "utf-8";
/* CSS Document */

body{
	font-size: 1.0em;
	font-family: sans-serif;
	line-height: 1.5;
	color: #333;
	background-color: #fff;
}

#inquiry{
	width: 600px;
	padding: 2px 0 2px 20px;
	border-left: 5px #c30 solid;
}

th{
	text-align: right;
}
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サンクスページ</title>
<link href="style.css" rel="stylesheet" media="screen, print">
</head>
<body>
<?php
 $name = $_POST['name'];
 $email = $_POST['email'];
 $message = $_POST['message'];
	
 $name = htmlspecialchars($name);
 $email = htmlspecialchars($email);
 $message = htmlspecialchars($message);
	
	echo $name.'様<br>'."\n";
	echo 'お問い合わせ、ありがとうございました。<br>'."\n";
	echo 'お問い合わせ内容『'.$message.'』を<br>'."\n";
	echo $email.'にメールで送りましたのでご確認ください。'."\n";
	
 $mail_sub = 'お問い合わせを受け付けました。';
 $mail_body = $name."様、ご協力ありがとうございました。";
 $mail_body = html_entity_decode($mail_body,ENT_QUOTES,"UTF-8");
 $mail_head = 'From:aaa@gmail.com';
 
 mb_language('Japanese');
 mb_internal_encoding("UTF-8");
 mb_send_mail($email,$mail_sub,$mail_body,$mail_head);
?>
</body>
</html>
  • form2(途中)
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>検索</title>
<link href="style.css" rel="stylesheet" media="screen, print">
</head>
<body>
<form action="search.php" method="post" id="search">
<input type="text" name="code" size="20" id="code">
<br>
<input type="submit" value="検索">
</form>
</body>
</html>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>確認画面</title>
<link href="style.css" rel="stylesheet" media="screen, print">
</head>
<body>
<?php
 $name = $_POST['name'];
 $email = $_POST['email'];
 $message = $_POST['message'];
 
 $name = htmlspecialchars($name);
 $email = htmlspecialchars($email);
 $message = htmlspecialchars($message);
 
  echo '<ul>'."\n";
  echo '<li>';
    if($name=='') {
        echo 'お名前が、入力されていません。';
    } else {
        echo 'ようこそ、'.$name.'';
    }
  echo '</li>'."\n";
  echo '<li>';
    if($email=='') {
        echo 'メールアドレスが、入力されていません。';
    } else {
        echo 'メールアドレス:'.$email;
    }
  echo '</li>'."\n";
  echo '<li>';		
    if($message=='') {
        echo 'お問い合わせの内容が、入力されていません。';
    } else {
        echo 'お問い合わせの内容:'.$message;
    }
  echo '</li>'."\n";
  echo '</ul>'."\n";

if($name=='' || $email=='' || $message=='') {
  echo '<form>'."\n";
  echo '<input type="button" onClick="history.back()" value="戻る">'."\n";;
  echo '</form>'."\n";	
} else {
  echo '<form action="thanks.php" method="post">'."\n";
	echo '<input type="hidden" name="name" value="'.$name.'">';
	echo '<input type="hidden" name="email" value="'.$email.'">';
	echo '<input type="hidden" name="message" value="'.$message.'">';
  echo '<input type="button" onClick="history.back()" value="戻る">'."\n";
  echo '<input type="submit" value="送信">'."\n";
  echo '</form>'."\n";
}
?>
</body>
</html>