汗で稼ぐ榎本行宏の『えのちゃんねる日記(仮題)』〜webデザインの勉強と漫画と小説と麻雀とあとなんか。〜はてなブログ版バージョン1.17 yukihiroenomoto666’s diary

『えのちゃんねる日記(仮題)』はてなブログ版へようこそ!汗で稼ぐ榎本行宏(フェリカwebサイト制作科2014年8月18日開講の生徒)のwebデザインの勉強や漫画や小説や麻雀やあとなんかの話。(*ω*)

スポンサーリンク

12月9日の授業でやった内容と家での自習内容。

12月9日の授業でやった内容。
index.phpに入力した内容をcheck.phpで確認しthanks.phpで送信しましたの画面で送信した内容が出るようになる。
check.phpで入力ミスがあった場合、index.phpに戻ってその時に今まで入力した内容が消えないでいるようになる。
thanks.phpで$to =  'yukihiroenomoto666@gmail.com';と書き、理論上、送信内容がメールに届くようになる。


index.php

<?php
session_start();
session_regenerate_id(true);
//var_dump($_SESSION);
//初期化
$name = '';
$email = '';
$message = '';
if(!empty($_SESSION)){
	$name= $_SESSION['name'];
	$email = $_SESSION['email'];
	$message = $_SESSION['message'];
}


?>



<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>お問い合わせ入力フォーム</title>
</head>

<body>
<div id="container">
<h1>お問い合わせ入力フォーム</h1>

<form action="check.php" method="post" id="mailform">
<p><label for="name"> お名前:&nbsp;&nbsp;<span>*必須</span>&nbsp;&nbsp;30文字以内</label>
<input type="text" name="name" id="name" size="30" placeholder="例:白水桜太郎"  maxlength="30" value="
<?php print htmlspecialchars($name,ENT_QUOTES,"utf-8");?>
"></p>


<p><label for="email">email:&nbsp;&nbsp;<span>*必須</span>&nbsp;&nbsp;50文字以内</label>
<input type="text" name="email" id="email" size="50" placeholder="例:sampler@sample"  maxlength="50" value="
<?php print htmlspecialchars($email,ENT_QUOTES,"utf-8");?>
"></p>
<p><label for="message">お問い合わせ:&nbsp;&nbsp;<span>*必須</span>&nbsp;&nbsp;128文字以内</label></p>
<textarea name="message" id="message" cols="30" rows="5" placeholder="例:御社商品の資料請求を致します。" maxlength="128">
<?php print htmlspecialchars($message,ENT_QUOTES,"utf-8");?></textarea>
<p><input type="submit" value="確認"></p>
</p>
</form>

</div>

</body>
</html>



check.php

<?
//とりあえずフォームからデータがわたってきてるかテスト
//var_dump($_POST);
$name= $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

session_start();//テスト出る
session_regenerate_id(true);
$_SESSION['name'] = $_POST['name'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['message'] = $_POST['message'];

?>


<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>入力確認</title>
</head>

<body>
<h1>入力確認</h1>
<table border="1">
<tr>
<th>お名前:</th><td>
<?php
print htmlspecialchars($name,ENT_QUOTES,"utf-8");
?>
</td>
</tr>
<tr>
<th>メール:</th><td>
<?php
print htmlspecialchars($email,ENT_QUOTES,"utf-8");
?>
</td>
</tr>
<tr>
<th>メッセージ:</th><td>
<?php
print nl2br(htmlspecialchars($message,ENT_QUOTES,"utf-8"));
?>
</td>
</tr>
</table>
<p><a href="index.php" >戻る</a>&nbsp;&nbsp;<a href="thanks.php">送信</a></p>

</body>
</html>


thanks.php


<?
session_start();
session_regenerate_id(true);
//とりあえずフォームからデータがわたってきてるかテスト
//var_dump($_SESSION);
$name= $_SESSION['name'];
$email = $_SESSION['email'];
$message = $_SESSION['message'];

$to =  'yukihiroenomoto666@gmail.com';
$subject = 'お問い合わせメール';
$body =<<<BODY
[お問い合わせメール] 
以下の内容で承りました。
お名前:
{$name}
メールアドレス:
{$email}
メッセージ:
{$message}
BODY;

//確認
//echo $to.'<br>';
//echo $subject.'<br>';
//echo $body.'<br>';   


//mb_send_mail メールを送る
//第一引数メール送信先
//第二引数表題
//第三引数本文
mb_send_mail($to,$subject,$body);

?>



<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>送信確認</title>
</head>

<body>
<h1>送信確認</h1>
<table border="1">
<tr>
<th>お名前:</th><td>
<?php
print htmlspecialchars($name,ENT_QUOTES,"utf-8");
?>
</td>
</tr>
<tr>
<th>メール:</th><td>
<?php
print htmlspecialchars($email,ENT_QUOTES,"utf-8");
?>
</td>
</tr>
<tr>
<th>メッセージ:</th><td>
<?php
print nl2br(htmlspecialchars($message,ENT_QUOTES,"utf-8"));
?>
</td>
</tr>
</table>

<p>上記の内容で送信しました。送信ありがとうございます。<br><a href="index.php">トップへ戻る</a></p>
</body>
</html>



家での自習内容。
上記を手打ちし、どこがどうなってどう動いているのか理解しようとする。
わかったこと。
check.phpで入力ミスがあってindex.phpに戻ったときに入力内容が消えないようにする為には、
index.phpに
<?php
session_start();
session_regenerate_id(true);
//var_dump($_SESSION);
//初期化
$name = '';
$email = '';
$message = '';
if(!empty($_SESSION)){
	$name= $_SESSION['name'];
	$email = $_SESSION['email'];
	$message = $_SESSION['message'];
}


?>
を書きcheck.phpからデータを受け取り、
index.phpのvalueの中に以下のように書くと、
value="
<?php print htmlspecialchars($name,ENT_QUOTES,"utf-8");?>
"
入力した内容が消えずに残る。

12月10日からの自習内容はまた後日、日記に書きます。(*ω*)