お問い合わせ入力フォーム(2)

お問い合わせ入力フォーム(2)

  • サンクスページの作成
  • 入力データを消さないでページを戻る
サンクスページの作成

サンクスページが無いと問題がおきます
アンケートに答えてくれた人にメールを自動送信するとき、戻って入力し直した場合にもメールが送られ、2度送信されたことになります
データベースにも同様の理由で、余分な1件が記録されたことになります


http://island-web.jp/air/lesson/php/form_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
 echo 'お問い合わせ、ありがとうございました。'."\n";
?>
</body>
</html>


入力した人が「OK」のときメールを送信する
  • 「check.php」で直したければ「戻る」OKなら「送信」ボタンをクリックできるようにする
  • 送信ボタンが押されたら次のページへ(サンクスページ)移動
  • 移動したページ(サンクスページ)で、メール送信とデータベースの書き込みをおこなう
onClick="history.back()"
    echo '<form>';
    echo '<input type="button" onClick="history.back()" value="戻る">';
    echo '</form>';

http://island-web.jp/air/lesson/php/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'];
  echo '<ul>'."\n";
  echo '<li>';
    if($name=='') {
        echo 'お名前が、入力されていません。';
    } else {
        echo 'ようこそ、'.$name.'';
    }
  echo '</li>'."\n";
  echo '<li>';
    if($email=='') {
        echo 'メールアドレスが、入力されていません。';
    } else {
        echo 'メールアドレス:'.$email;
    }
  echo '</li>'."\n";
  echo '<li>';		
    if($message=='') {
        echo 'お問い合わせの内容が、入力されていません。';
    } else {
        echo 'お問い合わせの内容:'.$message;
    }
  echo '</li>'."\n";
  echo '</ul>'."\n";

  echo '<form action="thanks.php" method="post">'."\n";
  echo '<input type="button" onClick="history.back()" value="戻る">'."\n";
  echo '<input type="submit" value="送信">'."\n";
  echo '</form>'."\n";
?>
</body>
</html>


入力されていない場合は「送信」ボタンを表示しない
  • 入力データのチェック
  • どれかひとつでも空っぽだったら、「戻る」ボタンだけを表示する

http://island-web.jp/air/lesson/php/form_check02.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'];
  echo '<ul>'."\n";
  echo '<li>';
    if($name=='') {
        echo 'お名前が、入力されていません。';
    } else {
        echo 'ようこそ、'.$name.'';
    }
  echo '</li>'."\n";
  echo '<li>';
    if($email=='') {
        echo 'メールアドレスが、入力されていません。';
    } else {
        echo 'メールアドレス:'.$email;
    }
  echo '</li>'."\n";
  echo '<li>';		
    if($message=='') {
        echo 'お問い合わせの内容が、入力されていません。';
    } else {
        echo 'お問い合わせの内容:'.$message;
    }
  echo '</li>'."\n";
  echo '</ul>'."\n";

if($name=='' || $email=='' || $message=='') {
  echo '<form>'."\n";
  echo '<input type="button" onClick="history.back()" value="戻る">'."\n";;
  echo '</form>'."\n";	
} else {
  echo '<form action="thanks.php" method="post">'."\n";
  echo '<input type="button" onClick="history.back()" value="戻る">'."\n";
  echo '<input type="submit" value="送信">'."\n";
  echo '</form>'."\n";
}
?>
</body>
</html>