【コピペOK】グーグルフォームの埋め込みが出来ないのでPHPでフォームを作ってみた。

フォームを作りたいときに一番便利なサービスはグーグルフォームだと思います。回答をcsvでダウンロード出来たり、GASを使えば自動返信機能も作れちゃう!なにより、作成がスマホからでも簡単!!他の人との共有も簡単です。

無料で使えるサービスの一番のデメリットは会社名が入ることだと思いますが、グーグルという誰でも知ってる会社であることは安心にも繋がると思います。

なので私はフォームが必要なときは、グーグルフォームばかり使っています。

WordPressの場合は、Contact Form 7というプラグインでフォームを作ることもありますが、断然グーグルフォームの方が簡単で高機能です。

ですが、今回はグーグルフォームを使いませんでした。いや、使えなかったのです。グーグルフォームを使えなかった経緯と、代わりにPHPを使って作ったコピペ可能なフォームをご紹介します。

グーグルフォームを普通に埋め込みたくない理由

グーグルフォームは簡単にホームページに埋め込むことが出来ます。ですが、今回はこの方法を使いたくありませんでした。理由は、オーダーが

  • お硬い市役所のようなホームページ
  • 昔からあるようなホームページかいい。
  • スマホ非対応でよい
  • 更新はほとんどしない
  • SEOとか考えなくてよい

とのことだったので、静的ページでサイト制作を行い、グーグルフォームを普通に埋め込むのはなんか違うなと思いました。グーグルフォームを普通に埋め込むとなんか軽い感じがしません?昔からある感じもしないし。

グーグルフォームのname属性がなくなっている!

どうにか、見た目はグーグルフォームでないように埋め込めないかと調べたところグーグルフォームのname属性をサイトに入れることで埋め込めるという記事がいくつか出てきました。

やったー!これだ!!と思ってその値を探しましたが、いくら探してもname属性は見当たりません。仕様が変わったみたいです。。。


他の方法も見つからず、グーグルフォームを埋め込むことを諦めました。

・・・・と思ったら!ありました!!仕様変更に対応した記事を後日発見!!今度試してみようと思います・・・笑

https://www.gorilla-web.net/2020new_google_form_custmize/

PHPで簡単にフォームを作る方法

PHPの書き方は色々ありますが、一番シンプルで分かりやすかった方の記事を参考にさせて頂きました。

https://note.com/eins1/n/n900d775ab7af

この記事のままでもフォームは作れるのですが、ひとつ問題が、、、送信元のメールアドレスがサーバーの名前?になっている??!!これでは何だか怪しいですよね。。。


色々調べたり試したりした結果、以下のように書くと送信元アドレスも指定通りになりました。コピペどーぞ!!

HTMLでフォームを作る

フォームを作りたい場所に以下をコピペしましょう。

<form class="mailForm" action="mail.php" method="post">
     <p>お気軽にお問い合わせください。</p>
     <dl>
       <dt>お名前</dt>
       <dd>
         <input name="name" type="text" required="required" id="name">
       </dd>
       <dt>メールアドレス</dt>
       <dd>
         <input name="email" type="email" required="required" id="email">
       </dd>
       <dt>お問い合わせ内容</dt>
       <dd>
         <textarea name="content" required="required" id="content"></textarea>
       </dd>
       <input type="hidden" id="token" name="token" value="1234567" />
     </dl>
     <p id="submit_button_cover">
       <input name="submit_buton" type="submit" id="submit_button" value="送信">
     </p>
</form>

CSSはご自由にお願いします笑

PHPファイルを作る

先ほど作ったHTMLと同じ階層にmail.phpという名前のPHPファイルを設置します。

<?php

$request_param = $_POST;

$request_datetime = date("Y年m月d日 H時i分s秒");


$mailto = $request_param['email'];
$to = "お問い合わせを受信するメールアドレスを入力";
$subject = "お問い合わせ、ありがとうございます。";
$headers = "From: お問い合わせを受信するメールアドレスを入力";

$content = "";
$content .= $request_param['name']. "様\r\n";
$content .= "お問い合わせ、ありがとうございます。\r\n";
$content .= "=================================\r\n";
$content .= "お名前        " . htmlspecialchars($request_param['name'])."\r\n";
$content .= "メールアドレス    " . htmlspecialchars($request_param['email'])."\r\n";
$content .= "お問い合わせ内容   " . htmlspecialchars($request_param['content'])."\r\n";
$content .= "お問い合わせ日時   " . $request_datetime."\r\n";
$content .= "=================================\r\n";

//管理者確認用メール
$subject2 = "お問い合わせがありました。";
$content2 = "";
$content2 .= "お問い合わせがありました。\r\n";
$content2 .= "=================================\r\n";
$content2 .= "お名前       " . htmlspecialchars($request_param['name'])."\r\n";
$content2 .= "メールアドレス   " . htmlspecialchars($request_param['email'])."\r\n";
$content2 .= "お問い合わせ内容  " . htmlspecialchars($request_param['content'])."\r\n";
$content2 .= "お問い合わせ日時   " . $request_datetime."\r\n";
$content2 .= "================================="."\r\n";

mb_language("ja");
mb_internal_encoding("UTF-8");
//mail 送信
if($request_param['token'] === '1234567'){
	if(mb_send_mail($to, $subject2, $content2, $headers)){
		mb_send_mail($mailto,$subject,$content,$headers);
		?>
		<script>
			window.location = "送信した後に表示されるページのURL";
		</script>
		<?php
	} else {
		header('Content-Type: text/html; charset=UTF-8');
		echo "メールの送信に失敗しました";
	};
} else {
	echo "メールの送信に失敗しました(トークンエラー)";
}

?>

ほとんどこちらの記事のソースと同じですが、$mailfrom….のところを$headers….と変えることで送信元が正しく表示されるようになりました。理由はよくわかりません!!笑

https://note.com/eins1/n/n900d775ab7af

PHPはコピペでどうにかやりくりしている私ですが、もっと理解して自由に書けたらいいなぁ〜勉強しようかな〜と思っているところです笑

スポンサーリンク
この記事を書いた人
atsuko

在宅で民泊ホストやWEBやチラシなど制作・管理・ライティングなどがお仕事。作曲家の夫と3歳と6歳の姉妹と共に福岡県久留米市在住。2009年、WEBデザイン技能検定2級取得。2012年8月、第77回ピースボートに乗船し地球大学受講。2015年〜民泊サイトAirbnbのスーパーホストのステータスを10回以上獲得。2018年、電子書籍と紙で「おっぱいのすべて」を出版。グリーンコープの組合員歴6年、グリーンコープの福祉委員と基金運用委員歴3年、現在副地域委員長を務める。

サイト制作在宅ワーク
スポンサーリンク
イエカラ

タイトルとURLをコピーしました