読者です 読者をやめる 読者になる 読者になる

ハロトレWebデザインの勉強03月14日開講クラス授業補足ブログ

入力された内容を自動返信

PHP

入力された内容を自動返信

《index.php

<?php
//初期化
$uname = '';
$email = '';
$message = '';

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

if(isset($_SESSION['uname'])){
  $uname = $_SESSION[ 'uname' ];
}
if(isset($_SESSION['email'])){
  $email = $_SESSION[ 'email' ];
}
if(isset($_SESSION['message'])){
  $message = $_SESSION[ 'message' ];
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>メールフォーム</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<section class="content">
<h1>入力画面</h1>
<p>必要事項を入力して「確認する」ボタンをクリックしてください。</p>
<form action="check.php" method="post">
<table>
<tr>
<td>お名前</td>
<td><input type="text" name="uname" class="field" value="<?php echo $uname; ?>"></td>
</tr>
<tr>
<td>メールアドレス</td>
<td><input type="text" name="email" class="field" value="<?php echo $email; ?>"></td>
</tr>
<tr>
<td>メッセージ</td>
<td>
<textarea rows="5" name="message" class="field"><?php echo nl2br($message); ?></textarea>
</td>
</tr>
</table>
<input type="submit" name="sub1" value="確認する">
</form>
</section>
</body>
</html>


《check.php

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

// セッションの開始
session_start();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>メールフォーム</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<section class="content">
<h1>確認画面</h1>
<p>内容を確認してください。</p>
<?php

// 入力値の取得・加工
$uname = htmlspecialchars($_POST["uname"], ENT_QUOTES, "UTF-8");
$email = htmlspecialchars($_POST["email"], ENT_QUOTES, "UTF-8");
$message = htmlspecialchars($_POST["message"], ENT_QUOTES, "UTF-8");

$_SESSION["uname"] = $uname;
$_SESSION["email"] = $email;
$_SESSION["message"] = $message;

// 入力値のチェック
if (empty($_POST["uname"])) {
    echo "お名前を入力してください。";
    echo '<p><a href="index.php">入力画面に戻る</a></p>';
    exit;
}

if (empty($_POST["email"])) {
    echo "メールアドレスを入力してください。";
    echo '<p><a href="index.php">入力画面に戻る</a></p>';
    exit;
}

if (empty($_POST["message"])) {
    echo "メッセージを入力してください。";
    echo '<p><a href="index.php">入力画面に戻る</a></p>';
    exit;
}

?>
<form method="POST" action="thanks.php">
<table border="0">
<tr>
<td>お名前</td>
<td width="300"><?php echo $uname; ?></td>
</tr>
<tr>
<td>メールアドレス</td>
<td width="300"><?php echo $email; ?></td>
</tr>
<tr>
<td>メッセージ</td>
<td width="300"><?php echo nl2br($message); ?></td>
</tr>
<tr>
<td align="right" colspan="2">
<input type="submit" name="sub1" value="送信する">
</td>
</tr>
</table>
</form>
</section>
</body>
</html>


《thanks.php

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

// セッションの開始
session_start();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>メールフォーム</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<section>
<h1>完了画面</h1>
<?php
// 入力値の取得・加工
$uname = htmlspecialchars($_SESSION["uname"], ENT_QUOTES, "UTF-8");
$email = htmlspecialchars($_SESSION["email"], ENT_QUOTES, "UTF-8");
$message = htmlspecialchars($_SESSION["message"], ENT_QUOTES, "UTF-8");

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

$subject = "お問い合せを受け付けました。";
$to = "{$email}";
$title = "【メールフォームより】";
$body =  <<<EOM
--------------------------------------------------
【Webサイトからのメール】

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

$body_client =  <<<EOM
--------------------------------------------------
【お客様からのメール】

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

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

if (!$rc) {
    exit;
} else {
    $_SESSION = NULL;
}
?>
<!-- 処理結果を表示 -->
<p>以下の内容を受けたまわりました。</p>
<table>
<tr>
<td>お名前</td>
<td width="300"><?php echo $uname; ?></td>
</tr>
<tr>
<td>メールアドレス</td>
<td width="300"><?php echo $email; ?></td>
</tr>
<tr>
<td>メッセージ</td>
<td width="300"><?php echo nl2br($message); ?></td>
</tr>
</table>
</section>
</body>
</html>