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

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

スポンサーリンク

12月8日(月)のPHPの授業でやった内容と家で自習した内容とわかったこと。

12月8日(月)の授業でやった内容。
お問い合わせフォームをPHPで作る。
index.php→check.php→thanks.phpという流れで最初に入力画面で次に入力確認で最後に送信しましたと出るように作る。


index.php

<!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>


cheak.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>
<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 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);

?>



<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>THANKS</title>
</head>

<body>
</body>
</html>

12月8日、家に帰ってから自習でthanks.phpを自分なりに考えてやってみたのが以下。

thanks.php(自分なりに考えたもの)

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

?>



<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>THANKS</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 htmlspecialchars($message,ENT_QUOTES,"utf-8");
?>
</td>
</tr>
</table>

<p>送信ありがとうございます。</p>

</body>
</html>


これで最後の送信しましたの画面に送信した内容が表示されるようになった。

わかったこと。
最初はpostでデータを引き継ぎ、その次からはsessionで引き継ぐことができる。
htmlspecialcharsを入れることにより<a href="#"></a>タグなどのいたずらを防ぐことができる。

12月9日分の授業の内容はまたあとでうpします。(*ω*)