メールフォーム データベースに格納
〈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>