メールフォーム データベースに格納

〈input〉

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>HTML5 メールフォーム | 入力画面</title>
<!--[if lte IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lte IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<style>
  article, aside, dialog, figure, footer, header,
  hgroup, menu, nav, section { display: block; }
</style>
<link rel="stylesheet" href="css/1028_style.css" media="all">
</head>
<body>
<div id="container">
<div id="inquiry">
<h1>お問合せメールフォーム</h1>
<p>このフォームはphpの練習で作成したサンプルです。
入力されたメールアドレス宛に自動返信される機能がついています。</p>
<table>
<form action="1028_check1.php" method="POST">
<tr>
  <th><label for="name">お名前</label></th>
  <td><input type="text" name="name" id="name" size="40" placeholder="(例)山田太郎" autofocus required></td>
</tr>
<tr>
  <th><label for="email">メールアドレス</label></th>
  <td><input type="email" name="email" id="email" size="40" placeholder="(例)xxx@xxx.ne.jp" required></td>
</tr>
<tr>
  <th><label for="message">お問合せ内容</label></th>
  <td><textarea name="message" id="message" cols="28" rows="3" placeholder="(例)コメント" required></textarea></td>
</tr>
</table>
<div id="btn">
<input type="submit" value="確認画面へ" class="submit">
</div>
</form>
</div>
</div>
</body>
</html>

〈check〉

<?php
if(empty($_POST)){
  print '処理終了';
  exit;
}

session_start();

$name = htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8');
$email = htmlspecialchars($_POST['email'], ENT_QUOTES, 'UTF-8');
$message = htmlspecialchars($_POST['message'], ENT_QUOTES, 'UTF-8');

$_SESSION['name'] = $name;
$_SESSION['email'] = $email;
$_SESSION['message'] = $message;
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>HTML5 メールフォーム | 確認画面</title>
<!--[if lte IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lte IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<style>
  article, aside, dialog, figure, footer, header,
  hgroup, menu, nav, section { display: block; }
</style>
<link rel="stylesheet" href="css/1028_style.css" media="all">
</head>
<body>
<div id="container">
<div id="inquiry">
<form action="1028_thanks1.php" method="POST">
<h1>確認画面</h1>
<ul>
<?php
print '<li>';
 if($name ==''){
  print 'お名前が入力されていません。'."\n";
 }else{
  print 'お名前:'.$name;
  }
print '</li>'."\n";
print '<li>';
 if($email ==''){
  print 'お名前が入力されていません。'."\n";
 }else{
  print 'メールアドレス:'.$email;
  }
print '</li>'."\n";
print '<li>';
 if($message ==''){
  print 'お問い合わせ内容が入力されていません。'."\n";
 }else{
  print 'お名前:'.$message;
  }
print '</li>'."\n";
	?>
</ul>
<div id="btn">
<input type="button" value="戻る" class="backbtn" onClick="history.back()">
<input type="submit" value="送信" class="submit">
</div>
<?php
if($name=='' || $email=='' || $message==''){
  print '未記入の項目があります。「戻る」ボタンをクリックしてください。';
  }else{
  print '<p>以上の内容を送信します。<br>よろしければ「送信」ボタンを、修正する場合は「戻る」ボタンをクリックしてください。</p>';
	}
?>
</form>
</div>
</div>
</body>
</html>

〈thanks〉

<?php
session_start();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>HTML5 メールフォーム | 確認画面</title>
<!--[if lte IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lte IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<style>
  article, aside, dialog, figure, footer, header,
  hgroup, menu, nav, section { display: block; }
</style>
<link rel="stylesheet" href="css/1028_style.css" media="all">
</head>
<body>
<?php
$dsn = 'mysql:dbname=contactus;host=localhost';
$user = 'root';
$password = 'root';
$dbh = new PDO($dsn, $user, $password);
$dbh -> query('SET NAMES UTF8');

$name = htmlspecialchars($_SESSION['name'], ENT_QUOTES, 'UTF-8');
$email = htmlspecialchars($_SESSION['email'], ENT_QUOTES, 'UTF-8');
$message = htmlspecialchars($_SESSION['message'], ENT_QUOTES, 'UTF-8');
// メール本文の組み立て
$mail_sub = 'お問い合わせを受け付けました。';
$mail_body = <<<EOM
--------------------------------------------------
【Webサイトからのメール】

お名前:{$uname}
メールアドレス:{$email}
メッセージ:{$message}
--------------------------------------------------
EOM;
$mail_body = html_entity_decode($mail_body,ENT_QUOTES,"UTF-8");
$mail_head = 'From:ef7038@gmail.com';
mb_language('Japanese');
mb_internal_encoding("UTF-8");
mb_send_mail($email,$mail_sub,$mail_body,$mail_head);

$sql = 'INSERT INTO inquiry(name, email, message) VALUES("'.$name.'","'.$email.'","'.$message.'")';
$stmt = $dbh -> prepare($sql);
$stmt -> execute();

 $dbh = null;
?>
<div id="container">
<div id="inquiry">
<h1>ご入力ありがとうございました</h1>
<p>以下の内容で受け付けました。</p>
<ul>
<li>お名前:<?php print $name ?></li>
<li>メールアドレス:<?php print $email ?></li>
<li>お問合せ内容:<?php print $message ?></li>
</ul>
<p><a href="1028_form1.php">トップページに戻る</a></p>
</div>
</div>
</body>
</html>

〈menu〉

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>データベース管理メニュー</title>
<!--[if lte IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lte IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<style>
  article, aside, dialog, figure, footer, header,
  hgroup, menu, nav, section { display: block; }
</style>
<link rel="stylesheet" href="css/1028_style.css" media="all">
</head>
<body>
<div id="container">
<div id="inquiry">
<h1>管理メニュー</h1>
<ul>
<li><a href="1028_list1.php">お問い合わせ内容一覧</a></li>
<li><a href="1028_search1.html">お問い合わせ内容検索</a></li>
</ul>
</div>
</div>
</body>
</html>

〈list〉

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>HTML5 メールフォーム | 登録データ一覧</title>
<!--[if lte IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lte IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<style>
  article, aside, dialog, figure, footer, header,
  hgroup, menu, nav, section { display: block; }
</style>
<link rel="stylesheet" href="css/1028_style.css" media="all">
</head>
<body>
<div id="container">
<?php
$dsn = 'mysql:dbname=contactus;host=localhost';
$user = 'root';
$password = 'root';
$dbh = new PDO($dsn, $user, $password);
$dbh -> query('SET NAMES UTF8');

$sql = 'SELECT * FROM inquiry WHERE 1';
$stmt = $dbh -> prepare($sql);
$stmt -> execute();

print '<table id="dblist">'."\n";
  print '<th>No</th><th>お名前</th><th>メールアドレス</th><th>問い合わせ内容</th>'."\n";

while(1){
  $rec = $stmt -> fetch(PDO::FETCH_ASSOC);
  if($rec == false){
  break;
  }
  print '<tr>'."\n";
  print '<td>' . $rec['code'] . '</td>';
  print '<td>' . $rec['name'] . '</td>';
  print '<td>' . $rec['email'] . '</td>';
  print '<td>' . $rec['message'] . '</td>';
  print '<tr>'."\n";
}
print '</table>'."\n";

$dbh = null;
?>

<p><a href="1028_menu1.html">メニューに戻る</a></p>
</div>
</body>
</html>

〈search〉

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>データベース管理メニュー</title>
<!--[if lte IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lte IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<style>
  article, aside, dialog, figure, footer, header,
  hgroup, menu, nav, section { display: block; }
</style>
<link rel="stylesheet" href="css/1028_style.css" media="all">
</head>
<body>
<div id="container">
<div id="inquiry">
<section>
<h1>問い合わせ内容検索</h1>
<form action="1028_search1.php" method="post" id="search">
<input type="text" name="code" id="code" size="20"><br>
<input type="submit" name="submit" value="検索">
</form>
<p><a href="1028_menu1.html">メニューに戻る</a></p>

<ぢv>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>HTML5 メールフォーム | 登録データ一覧</title>
<!--[if lte IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lte IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<style>
  article, aside, dialog, figure, footer, header,
  hgroup, menu, nav, section { display: block; }
</style>
<link rel="stylesheet" href="css/1028_style.css" media="all">
</head>
<body>
<div id="container">
<?php
$code = $_POST['code'];

$dsn = 'mysql:dbname=contactus;host=localhost';
$user = 'root';
$password = 'root';
$dbh = new PDO($dsn, $user, $password);
$dbh -> query('SET NAMES UTF8');

$sql = 'SELECT * FROM inquiry WHERE code='.$code;
$stmt = $dbh -> prepare($sql);
$stmt -> execute();

print '<table id="dblist">'."\n";
  print '<th>No</th><th>お名前</th><th>メールアドレス</th><th>問い合わせ内容</th>'."\n";

while(1){
  $rec = $stmt -> fetch(PDO::FETCH_ASSOC);
  if($rec == false){
  break;
  }
  print '<tr>'."\n";
  print '<td>' . $rec['code'] . '</td>';
  print '<td>' . $rec['name'] . '</td>';
  print '<td>' . $rec['email'] . '</td>';
  print '<td>' . $rec['message'] . '</td>';
  print '<tr>'."\n";
}
print '</table>'."\n";

$dbh = null;
?>
<p><a href="1028_search1.html">検索画面に戻る</a></p>
</div>
</body>
</html>