@TaikiTkwkbysh (WAKA Engineer)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

実際に運用する問い合わせフォームを作成したい

プログラミング初学者です。
私事なのですが最近、有難い事に友人の繋がりを通じて、とある企業の社長から
ホームページ作成の依頼を頂く事ができました。

現在本職は別の仕事をしているのですが、
web制作エンジニアへの転職を考えているという事もあり、実績作りの為に未経験ながら
全力で取り組もうとしている所存です。

そこで、ホームページ内にお問い合わせフォームのページを作成しようと考えているのですが、
どのように作成すればしっかり利用できる問い合わせフォームを作成できるのかが分からない
状態です。

現在持ち合わせている知識としては、

① HTML&CSS(約3ヶ月程プロゲートとドットインストールにて、全プログラムを一通り学習済)
② Javascript (約2ヶ月程プロゲートの全プログラム、ドットインストールの基礎知識を一通り学習済)
③ PHP(約1ヶ月程、プロゲートでプログラム3まで学習済)

というレベルです。PHPに関しましては、まだあまり理解出来ていません。

オリジナルで本格的に利用できる問い合わせフォームを作成できるようになるには、PHPの知識に加えて、MySQLとJavaの知識もないと作れないという事を、本日某プログラミングスクールの講師さん(実務経験有り)からお伺いも致しました。

やはりPHPのコーディングだけでは本格的に利用する問い合わせフォームは作成出来ないのでしょうか。
また、PHP,MySQL,Java等の知識無しで本格的に利用できる問い合わせフォームは作成できるのでしょうか?

言葉足らずの点や、説明が上手く出来ていない点が多くあるかと存じますが、
自分の周りにはエンジニアをしている人がいない為、ご教授頂けましたら幸いで御座います。

何卒、宜しくお願い致します。

0 likes

3Answer

要件次第ですが、PHPとMySQLの知識があれば作れると思います。
あとは会社で使うならセキュリティーの知識ですかね。
時々、会社の問い合わせフォームでもhttpsじゃないものがあって驚きます。

0Like

Comments

  1. @TaikiTkwkbysh

    Questioner

    ご回答誠に有難う御座います!
    ご教授頂き、大変助かります。
    まだまだ知識不足なもので、@anonymous様のご回答を元に自分でも少し調べましたところ、
    以下の3つのような疑問点が新たに生まれました。
    誠に恐縮ですが、宜ければこちらの疑問についてもご教授頂け無いでしょうか。

    ①フォームのセキュリティの知識についてネットで調べたところ、SSLという単語が出てきたのですが、このSSLの知識が必要という認識で正しいでしょうか。

    ②PHP、MySQL、SSLの知識だけで作れる場合と、PHP、MySQL、SSLに+で別の言語の知識が必要な場合とでは案件内容の違いとしてどんな違いがあるのでしょうか。

    ③問い合わせフォームをgoogleフォームを実装して作る方法もあると知ったのですが、googleフォームでするのはあまりよく無いのでしょうか。

    以上になります。
    宜しくお願い致します。
  2. > ①フォームのセキュリティの知識についてネットで調べたところ、SSLという単語が出てきたのですが、このSSLの知識が必要という認識で正しいでしょうか。

    はい。
    しかし、SSLはWebアプリケーションを開発する上で考慮する必要があるセキュリティの一例として挙げましたが、それだけではありません。
    Webアプリケーションには代表的な脆弱性・攻撃手法(SQLインジェクションやクロスサイト・スクリプティング等)がありますので、それらを知って対策を行う必要があると思います。
    参考:
    https://www.ipa.go.jp/security/vuln/websecurity.html
    https://www.amazon.co.jp/dp/4797393165
    また、脆弱性はあなたが利用するライブラリ・フレームワーク・ミドルウェア(PHP・MySQL等)・OSにも存在・発生しますので、それらについても知って対策を行う必要があると思います。

    > ②PHP、MySQL、SSLの知識だけで作れる場合と、PHP、MySQL、SSLに+で別の言語の知識が必要な場合とでは案件内容の違いとしてどんな違いがあるのでしょうか。

    現在は請負の仕事はしていないので、よく分かりませんが、使える言語が多ければ、案件の数も多くなるのは分かります。

    しかし、まずは、1つの言語を習得されることをお勧めします。
    1つの言語を習得できれば、他の言語を学習する際、応用が効いて、学習しやすくなると思いますので。

    > ③問い合わせフォームをgoogleフォームを実装して作る方法もあると知ったのですが、googleフォームでするのはあまりよく無いのでしょうか。

    Googleフォームは良いと思います。
    簡単な問い合わせフォームであれば、プログラマーでなくても、すぐに立派なフォームを作ることができますし、セキュリティーの心配も要りません。
    使ったことないですが、多分、Microsoftフォームも同じようなものでしょう。
  3. @TaikiTkwkbysh

    Questioner

    ご回答誠に有難う御座います。
    全ての質問に回答して頂き、大変助かりました。
    現状と今後の課題について、とてもはっきり理解する事が出来ました。
    現状についてはGoogleフォームでの作成で検討してみようと思います。
    今後はまずPHPを取得する事を一番に、セキュリティ関する知識とその対策について勉強していこうと思います。
    この度はご対応、誠に有難う御座いました。
    また機会が御座いましたら、何卒宜しくお願い申し上げます。

SSLは通信の暗号化に関する部分ですので、あなた以外の人がサーバを運用するのであればその人に任せればいいと思います。サーバのファイヤーウォールとか設定とか他にもいろいろ気にしないといけない点が多いです。
ウェブアプリケーションの開発の面では、作成したアプリケーションに脆弱性を作らないことが重要と思います。独立行政法人情報処理推進機構(IPA)が「安全なウェブサイトの作り方」という手引書を公開しているので、少なくともこれには目を通されたほうが良いと思います。またプログラム言語はそれぞれ特有の癖があり、各言語ごとに安全性を高めるためのコツがあるので、その点を理解しておく必要があると思います。

0Like

Comments

  1. @TaikiTkwkbysh

    Questioner

    ご回答、誠に有難う御座います。
    「安全なウェブサイトの作り方」、一度確認させて頂きます。

    今自分が依頼を受けている会社様がサーバを既に運用しているかどうかをまずヒアリングしてみます。今の自分の知識では自分自身でサーバを運用する事はとても出来ないので、自分以外の方に運用を任せる方向で考えます。
    例えばなのですが、
    ホームページを作成後、ドメイン+レンタルサーバを借り、その借りたサーバを自分以外の他の方に運用してもらうというような事は可能なのでしょうか。

    サーバに関する知識が乏しいので、質問として成り立っているのか自分で判断が出来ていないのですが、もし宜ければ教えて頂きたいです。
    何卒、宜しくお願い致します。
  2. サーバの運用を第三者に任せることはたいてい可能です(一般的にあることです)。

    クライアントの要望はわかりませんが、先方に確固たるビジョンがあればその要件に従って仕組みを構築すれば良いですが、そうでない場合は提案書をまとめクライアントを誘導して差し上げる必要があります。
    初めて(?)のお仕事ということであれば、経験のある方とパートナーシップを組んで勉強させてもらうという手もあります。その場合は利益を配分する必要がありますが得られるものも多い、かもしれません。

    頑張ってください。
  3. @TaikiTkwkbysh

    Questioner

    ご回答、有難う御座います!
    初めてで右も左も分からない状態ではある為、経験のある方とパートナーシップを組むという方向も検討してみます!
    先方の方とはまだしばらくお会いできそうには無いので、提案書も含め下準備を万全にしておこうと思います。
    大変勉強させて頂きました。初仕事、満足してもらえるよう頑張ります。
    また機会が御座いましたら、宜しくお願い申し上げます。

課題

  • オリジナルで本格的に利用できる問い合わせフォームを作成するために必要なスキルは何か?
  • 現有スキルでは何処までのものが作れるか?
  • Googleフォームで何ができるのか?

要件と必要なスキル

フォームの外観や使用感を完全にコントロールできる

  • 「オリジナル」をこのように理解しました(が、はたして正しいでしょうか?)。
  • HTMLとCSSのスキルが必要です。
  • Googleフォームは既製部品を組み合わせるだけなので、制約が生じて、この要件を満たせません。
    • その代わり、フォーム作成に際してHTMLやCSSのスキルは不要です。

SSLに対応している

  • 一般に、Webサーバが対応していれば、そのサーバを介したサービスも対応可能です。
  • Webサーバの構築が案件に含まれる場合は、「SSL対応サーバを立てる」スキルが必要です。
  • 独自にサーバ側コードを書く場合は、その内容次第でSSL対応のスキルが必要になることもあります。
  • 上記いずれも該当しなければ、特別なスキルは不要です。
    • 必要になる場合でも、SSLの仕組みを深く理解する必要はありません。

データはDBに蓄積する

  • PHPやMySQLを挙げておられるので、そういうことかと解釈しました。
  • Googleフォームでは、Googleスプレッドシートにデータを蓄積できますので、それで良ければPHPもMySQLも不要です。
    • GoogleフォームでDBに蓄積したい場合は、GASのスキルが必要になります。
  • 問い合わせをメールで受け取るだけなら、同様にDB系スキルが必要ありません。

問い合わせを管理できる

  • 「本格的な運用が可能」と捉えると、Issue Tracking Systemが必要でしょう。
  • 蓄積したデータをどのように扱うかで+αのスキルが必要になります。
    • Issue Tracking System
      • 自前で実現するのか既存のシステムを利用するのか、オンプレミスかクラウドかなどで、必要なスキルは変わってきます。
      • 本格的なシステムをゼロから作ると、フォームそのものよりも工数がかかると思います。
    • Googleスプレッドシート
      • 完全に人手で行うなら、エクセルが多少使える程度のスキルで大丈夫です。
      • 運用システムを構築する場合は、その程度に応じたスキルが必要です。
    • メール
      • 完全に人手で行うならスキル不要です。
  • 運用を「完全に人手で行う」のであれば、特に必要なスキルはありません。
    • 運用システムを作るなら、課題管理のノウハウが必要になります。

最小構成例

例1 Googleフォームとスプレッドシートを使う

  • 概要
    • 既存のWebサーバを使用する。
    • 問い合わせページは、Googleフォームで実現する。
    • 問い合わせの運用は、Googleスプレッドシート上で行う。
  • 必要なスキル
    • 問い合わせにおける課題管理 (人手で運用するなら不要)
      • スプレッドシート上で問い合わせの運用システムを構築する
    • Googleフォーム
      • フォームの作成
    • Googleスプレッドシート (人手で運用するなら不要)
      • 問い合わせの運用システムを構築する
    • HTML (CSS)
      • フォームをサイトに組み込む
Googleフォームでできること (大雑把)
  • 部品を組み合わせてフォームが作れます。
  • フォームが送信されたらメールで通知を受け取れます。(任意)
  • フォームの送信内容をGoogleスプレッドシートに蓄積できます。
  • フォームの送信内容をコンソールで管理できます。

例2 メールCGIを使う

はたしてこれはありなのか…

  • 概要
    • 既存のWebサーバを使用する。
    • 問い合わせページは、HTMLで構築する。
    • 問い合わせの運用は、完全に人手で行う。
  • 必要なスキル
    • CGIの組み込み
      • 既製のメールCGIをサイトに組み込む
    • HTMLとCSS
      • フォームの作成と組み込み

例3 顧客にメーラを使わせる

さすがにこれはないですね…

0Like

Comments

  1. @TaikiTkwkbysh

    Questioner

    ご回答、誠に有難う御座います。
    要件と必要なスキルについてそれぞれ教えて頂き、大変有難いです。
    オリジナルという言い方がかなり大雑把過ぎてしまい、大変申し訳ありません。
    自分が言いたかったオリジナルというのは、

    ①顧客が問い合わせフォームのページのフォーム内に依頼や問い合わせ内容を入力する
    ②入力した内容を送信する
    ③それが会社側にしっかり届く。

    この一連の流れがしっかりできるような問い合わせフォームを個人で1から作るという事で、
    もし個人で1から作る場合、どのようなスキルや知識が必要なのだろうかという事を確認したかった次第で御座います。

    webサーバの構築は案件内容には含まれていないので、やはり現状ではgoogleフォームを使って作成するのが一番であると判断致しました。

    PHPとMySQLを主に上げていた理由ですが、これは某プログラミングスクールの講師さんに問い合わせフォームの作り方についてお伺いした際、PHP、MySQLに加えて、Java等サーバサイドの知識が必要と教えて頂いたので、そのまま上げていたという次第です。
  2. わざわざご説明いたいだき、どうもありがとうございます。
    問い合わせが届くまでで良くて、届いた問い合わせ案件の管理までは必要なかったのですね。

    あとは、「既製の外観(スキンは変えられます)で構わない」という条件が通れば、Googleフォームは良い選択肢だと思います。
    Googleアカウントさえあれば、Googleドライブで容易に作って試せますので、簡単なものを試作して、受注前に顧客に確認するも手だと思います。
    ご健闘をお祈りいたします。
  3. @TaikiTkwkbysh

    Questioner

    ご回答、誠に有難う御座います。
    先方の方とはまだお会いできておらず、まだ何が必要か、どういったHPを検討しているのかのヒヤリングができていない状態なのですが、必要と言われた際に現状の自分ではどういう対応ができるかを知りたかったという感じです。
    googleフォームで一度作成してみようと思います。

    @tetr4lab様のご回答、大変勉強させて頂きました。
    初案件、満足していただける様頑張ります。
    また機会が御座いましたら、宜しくお願い申しあげます。

Your answer might help someone💌