データベースへ格納

データベース内にテーブル作成

  • テーブル名「user」


データベースへ格納


《input.php

<?php
$name = "";
$email ="";
$message = "";

session_start();

if( isset($_SESSION[ "name" ]) ){
  $name = $_SESSION[ "name" ];
}
if( isset($_SESSION[ "email" ]) ){
  $name = $_SESSION[ "email" ];
}
if( isset($_SESSION[ "message" ]) ){
  $name = $_SESSION[ "message" ];
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>お問い合わせフォーム入力画面</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h1>お問い合わせ入力画面</h1>
<p>※必須項目の確認をお願いします。</p>
<form action="check.php" method="post">
<table class="input">
<tr>
<th>名前</th><td><input type="text" name="name" class="field"></td>
</tr>
<tr>
<th>メールアドレス</th><td><input type="text" name="email" class="field"></td>
</tr> 
<tr>
<th>内容</th><td><textarea name="message" rows="3" cols="31"></textarea></td>
</tr>
<tr>
<td colspan="2" class="btn"><input type="submit" value="確認"></td>
</tr>
</table>
</form>
</div><!-- /.container -->
</body>
</html>

《check.php

<?php
// フォームデータが空の場合は処理終了
  if (empty($_POST)) {
    print "処理終了";
    exit;
  }

// セッションの開始
  session_start();
  
  $name = htmlspecialchars( $_POST[ 'name' ], ENT_QUOTES );
  $email = htmlspecialchars( $_POST[ 'email' ], ENT_QUOTES );
  $message = htmlspecialchars( $_POST[ 'message' ], ENT_QUOTES );
  $flg = true;
  $_SESSION[ 'name' ]= $name;
  $_SESSION[ 'email' ] = $email;
  $_SESSION[ 'message' ] = $message;
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP+MySQL課題</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="container">
<h1>確認画面</h1>
<p>内容を確認してください。</p>
<form method="post" action="thanks.php">
<table border="1">
<tr>
<th>お名前</th>
<!-- 入力内容の確認表示 -->
<td>
<?php 
  if($name=='') {
    print 'お名前が、入力されていません。';
  } else {
    print $name; 
  }
?>
</td>
</tr>
<tr>
<th>メールアドレス</th>
<td>
<?php 
  if($email=='') {
    print 'メールアドレスが、入力されていません。';
  } else {
    print $email; 
  }
?>
</td>
</tr>
<tr>
<th>メッセージ</th>
<!-- メッセージの改行 -->
<td>
<?php 
  if($message=='') {
    print 'お問い合わせの内容が、入力されていません。';
  } else {
    print nl2br($message); 
  }
?>
</td>
</tr>
<tr>
<td colspan="2" class="button">
<?php
  if( $name == '' || $email == '' || $message  == '' || $flg === false ) {
    print '<span>未入力の項目があります。「戻る」ボタンをクリックし入力してください。</span><br>';
    print '<input type="button" onclick="history.back()" value="戻る">';
  } else {
    print '<input type="submit" name="sub1" value="送信する">';
  }
?>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>

《thanks.php

<?php
// セッションの開始
session_start();

  $name = htmlspecialchars( $_POST[ 'name' ], ENT_QUOTES );
  $email = htmlspecialchars( $_POST[ 'email' ], ENT_QUOTES );
  $message = htmlspecialchars( $_POST[ 'message' ], ENT_QUOTES );
  $flg = true;
  $name = $_SESSION[ 'name' ];
  $email = $_SESSION[ 'email' ];
  $message = $_SESSION[ 'message' ];
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP+MySQL課題(1)</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="container">
<h1>完了画面</h1>
<?php
$dsn = 'mysql:dbname=アカウント_db;host=localhost(MySQLサーバー名)';
$user = 'MySQLアカウント';
$password = 'MySQLパスワード';
$dbh = new PDO($dsn,$user,$password);
//$dbh -> query('SET NAMES utf8');


// メール本文の組み立て
mb_language("Ja");
mb_internal_encoding("UTF-8");

$subject = "お問い合せを受け付けました。";
$to = $email;
$title = "【お客様の入力確認メール】";
$body =  <<<EOM
--------------------------------------------------
【フォームへの入力内容】

お名前:{$name}
メールアドレス:{$email}
メッセージ:{$message}
--------------------------------------------------
EOM;

$body_client =  <<<EOM
--------------------------------------------------
【お客様の入力内容】

お名前:{$name}
メールアドレス:{$email}
メッセージ:{$message}
--------------------------------------------------
EOM;

// メール送信の実行
$rc = mb_send_mail($to, $title, $body);
$rc = mb_send_mail("xxxxx@gmail.com","お客様からのメール",$body_client);

if (!$rc) {
    exit;
} else {
    $_SESSION = NULL;
}

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

$dbh = null;
?>
<!-- 処理結果を表示 -->
<p>以下の内容を受けたまわりました。</p>
<table border="1">
<tr>
<td>お名前</td>
<td width="300"><?php print $name; ?></td>
</tr>
<tr>
<td>メールアドレス</td>
<td width="300"><?php print $email; ?></td>
</tr>
<tr>
<td>メッセージ</td>
<td width="300"><?php print nl2br($message); ?></td>
</tr>
</table>
<p><a href="input.php">トップページに戻る</a></p>
</div>
</body>
</html>