お問い合わせ入力フォーム(2)
お問い合わせ入力フォーム(2)
- サンクスページの作成
- 入力データを消さないでページを戻る
サンクスページの作成
- サンクスページが無いと問題がおきます
- アンケートに答えてくれた人にメールを自動送信するとき、戻って入力し直した場合にもメールが送られ、2度送信されたことになります
- データベースにも同様の理由で、余分な1件が記録されたことになります
《thanks.php》
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>確認画面</title> <link href="style.css" rel="stylesheet" media="screen, print"> </head> <body> <?php print 'お問い合わせ、ありがとうございました。'."\n"; ?> </body> </html>
入力した人が「OK」のときメールを送信する
- 「check.php」で直したければ「戻る」OKなら「送信」ボタンをクリックできるようにする
- 送信ボタンが押されたら次のページへ(サンクスページ)移動
- 移動したページ(サンクスページ)で、メール送信とデータベースの書き込みをおこなう
onClick="history.back()"
print '<form>'; print '<input type="button" onClick="history.back()" value="戻る">'; print '</form>';
《check.php》
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>確認画面</title> <link href="style.css" rel="stylesheet" media="screen, print"> </head> <body> <?php $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; print '<ul>'."\n"; print '<li>'; if($name=='') { print 'お名前が、入力されていません。'; } else { print 'ようこそ、'.$name.'様'; } print '</li>'."\n"; print '<li>'; if($email=='') { print 'メールアドレスが、入力されていません。'; } else { print 'メールアドレス:'.$email; } print '</li>'."\n"; print '<li>'; if($message=='') { print 'お問い合わせの内容が、入力されていません。'; } else { print 'お問い合わせの内容:'.$message; } print '</li>'."\n"; print '</ul>'."\n"; print '<form action="thanks.php" method="post">'."\n"; print '<input type="button" onClick="history.back()" value="戻る">'."\n"; print '<input type="submit" value="送信">'."\n"; print '</form>'."\n"; ?> </body> </html>
- HTML要素として出力する(例は、リストですが表組みにしてもOK)
《style.css》
@charset "UTF-8"; body { font-size: 1.0em; font-family: sans-serif; line-height: 1.5; color: #333333; background-color: #FFFFFF; } #inquiry { width: 600px; /* ボックスの幅を指定 */ padding: 2px 0 2px 20px; border-left: 5px #C30 solid; } th { text-align: right; }
入力されていない場合は「送信」ボタンを表示しない
- 入力データのチェック
- どれかひとつでも空っぽだったら、「戻る」ボタンだけを表示する
《check.php》
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>確認画面</title> <link href="style.css" rel="stylesheet" media="screen, print"> </head> <body> <?php $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; print '<ul>'."\n"; print '<li>'; if($name=='') { print 'お名前が、入力されていません。'; } else { print 'ようこそ、'.$name.'様'; } print '</li>'."\n"; print '<li>'; if($email=='') { print 'メールアドレスが、入力されていません。'; } else { print 'メールアドレス:'.$email; } print '</li>'."\n"; print '<li>'; if($message=='') { print 'お問い合わせの内容が、入力されていません。'; } else { print 'お問い合わせの内容:'.$message; } print '</li>'."\n"; print '</ul>'."\n"; if($name=='' || $email=='' || $message=='') { print '<form>'."\n"; print '<input type="button" onClick="history.back()" value="戻る">'."\n";; print '</form>'."\n"; } else { print '<form action="thanks.php" method="post">'."\n"; print '<input type="button" onClick="history.back()" value="戻る">'."\n"; print '<input type="submit" value="送信">'."\n"; print '</form>'."\n"; } ?> </body> </html>