ゆめの学習記録

★職業訓練校修了後の復習用★

お問い合わせフォームの作成|改訂版

今回のお問い合わせフォームは php を使い、 入力画面
確認画面
完了画面

3 つを作成します。 入力画面の作例

https://codepen.io/yachin29/pen/ZEBNENN

 

万が一、確認画面からアクセスしてしまった際にそのままでは post で値が送 られていない為エラーになってしまうので、それを回避するために値が空だ ったら入力画面にリダイレクトさせる処理を行います。
isset 関数

isset を使う事で変数がセットされているか確認する事が出来ます。 あたまに「!」を付ける事で逆の意味になるので、以下の記述で 「$_POST['name']」に値がセットされていなかったら、という意味になり

ます。 !(isset($_POST['name']))

//$_POST["name"]の値が空だったら Location で指定しているファイルに 強制移動(リダイレクト)させる

if(!(isset($_POST['name']))){

header('Location:index.html');

exit; }

入力画面に戻るボタン
<button type="button" onclick=history.back()>戻る</button> 自身の完了画面ページに遷移する サンクスページを作成し、送信ボタンを押した後に自作したサンクスページ へ ajax でページ遷移させましょう。
$(function(){

$('#g-form').submit(function (event) { var formData = $('#g-form').serialize(); $.ajax({

url: "google Form URL", data: formData,
type: "POST",
dataType: "xml", statusCode: {

0: function(){
window.location.href = "thanks.html"; },

200: function(){
//
失敗したときの処理

} }

});
//googleform
へのページ遷移をキャンセル
event.preventDefault();
});
});
formタグに#g-formを付ける
Google Form の値を取得する
Chrome の検証機能を使って Google フォームの「Action」と「name」の 値を取得し、HTML フォームに挿入する。
name 属性は階層の深い所にあるので「entry.」で検索し、 「name="entry.00001234"」のような name 属性の値を取得しましょ う。 複数項目の場合「name="entry.00001234_sentinel"」のようになっ ているので「entry.00001234」の部分だけ取ってきます。また複数項目は 順番が後回しになっているので「entry.」の順番にも気をつけましょう。