Lesson16「実践!メールフォームを作ってみよう!」

この練習には本入部生のみ参加できます。

本入部はこちら

学習概要

「お問合せ」や「ユーザー登録時の登録完了メール」などに使われるメール送信システムを作っていきます!
実はメール送信は「たった1行」で出来てしまうので、誰でも簡単に作れちゃいます☆
今回は、外部のPHPファイルを読み込む方法も解説!

補足

ログインが必要です

この練習でわからない所を質問する※部活外の質問はできません

ログインが必要です

この練習への質問一覧

ログインが必要です

Lesson16「実践!メールフォームを作ってみよう!」 の内容※SEO用のため読めません

今回はメールフォームを作ってみましょう前回と同じようにアプリケーションのマントの中の he dogs というフォルダの中にサンプル4というフォルダを新しく作成します僕はその中に INDEX . PHP とメール. PHP というものを作ります実写の中身はこちらになりますまたは INDEX . PHP を見ていきましょう1%に吹かれているのが PHP のブロックになりますそしてその下から HTML が吹かれています岡山を前回と同じように CSS はスタイルタブを使って直接 A してるの中にベタ掛けしています次にメール. PHP を見ていきましょうこちらメールを送信するプログラム自体が PHP で変えています実際にプログラムを変えてみましょうまずは INDEX . PHP の先頭にある PHP ブロックのところですねこちら中を変えてみてください書き終わったら一旦保存しておきましょう次に変してメールを変えていきますこちらに書かれた内容を変えていましょう終わったら保存しましょう家にメール. PHP を変えてきますお茶の中身を変えてみてください竹を割ったら保存しましょう実際にブラウザに表示させてみたいと思いますこちらがブラウザで表示させた画面になりますブラウザに表示されている URL と同じような形で売っていただくとこのような画面が表示されるはずですここからサーバーを自分のパソコンの中に設置していますので実際にメールを送信することはできませんメールを送信させるにはレンタルサーバーなどを借りていただいてそこに今回作ったプログラムファイルを置いていただくと実際にメールが送信できな形になりますプログラムの中身だけちょっと見ていきましょうまた HTML から見ていきましょうこれは今までと同じくスタイルで CSS は疲れていてボディ部の中に葬られています BODY タグの中を見ていると P タグでお茶の名もなく借りていますこれはメールを送信した際のメールの送信結果をメッセージとしてここに表示させるために物入れを作っていますお茶の中 PHP のブロックになっています if 文を使ってもしメッセージという変数が空でなかった場合今そのメッセージと変数を表示するという内容なっています次にホームタイムで書かれた部分が実際のフォームになります今回は4本して表示する部品は四つになります name 属性が E メールの E メールを入力するフォームですねそして name 属性が subject となっている県名を入力するフォームそして name 属性はコメントとなっている実際のメールの内容を入力するテキストエリアのホームですねどうせ最後送信ボタンの四つのパーツになっていますそれぞれのホームにはホームに入力した内容を保持するためのプログラムが PHP の形で書かれていますテキストフォームの場合にはバリューという属性を使ってその中に PHP のプログラムを変えていますテキスト例の場合には Value 属性というものはつけられないのでテキストエリアのタグに囲まれた箇所に PHP のプログラムで値を保持するプログラムを変えていますこうすることで実際に送信ボタンを押した後でもホームに入力した内容がそのまま表示されますので送信でエラーになったとしても一から再度入力する必要がなくなります PHP のプログラムを見ていきましょうまずは今と同じくエラーメッセージを表示させるためのお茶の2部になりますこれはもうお決まりのパターンですね表示させるエラーのレベルはいいゴールとなっていますのですべてのエラー表示する形になりますその下には十分でポスト送信されているかどうかという判定をしていますおそ送信されていた場合なんですが中のプログラムが走りますまずはバリデーション行いますけれども今回は省略しています次にポスト送信されたなかみの値を選んした変数の中に代入します次に送信結果のメッセージを表示させる変数を用意していますそして最後にメールのプログラムであるメール. PHP というファイルをインクルードと嫁と音を使って読み込んでいますここに下手でメールのプログラムをそのまま帰ってもいいんですけれどもメールの送信プログラムというのは色々な所で使うようなものになりますので一つのファイルにまとめてあげてそれを色々な場所から読み込んであげることができます人形して他でも使えそうなプログラムというのは一つのファイルにまとめてあげ それを読み込んであげることで使い勝手が増すんですねこういったプログラムの組み方のことを汎用性が高いとかを指定が高いといった言い方をします外部の PHP ファイルを読み込む場合には include メソッドを使って引数に読み込みたいファイルのパスを指定します今回読み込み元の INDEX . PHP このファイルですねこのファイルと同じ階層にメール. PHP がありますのでこういった形の描き方で大丈夫ですもしこのメール. PHP が PHP というディレクトリフォルダですねその中にメール. PHP を配置していた場合にはパスは超えたかなしで PHP のディレクトリの中のメールどうぞ PHP という形で指定します PHP ファイルを読み込んだ場合実際どういった形になっているかというとお茶のメール. PHP ぽちゃのプログラムが実際にこの中に読み込まれてこういった形で浮かれているのと同じようなことになりますので外部のプログラムであっても元のファイルに吹かれた変数というのはライブのプログラムでそのまま使うことができます次にメール. PHP のメール送信プログラムを見ていきましょうこのプログラムの中ではまず IF 文を使って送信された方もの中身がすべて入力されているかどうかというのチェックしていますバリデーションをこのメールの送信プログラムの中でやってしまっているだけですね IF 文の中ではそれぞれの変数が空かどうかというのは安定していますたけども話しましたがだいぶの PHP ファイルであっても読み込み元の変数はそのまま使えますのでその変数が空かどうかというの判定していますその変数はと言うと読み込み元である INDEX . PHP お茶の方でこの変数というのを作っていますそれを外部の PHP のこちらの方で判定しているという形になっていますそして全てホームの中身の入力されていた場合にはこちらのプログラムが実行されますもし何か入力されていなかった場合には入力が必須ですよというメッセージを変数メッセージの中に保存していますとして保存されたメッセージというのは夢の中のメッセージを表示するエリアですねこちらこちらの方でメッセージが実際に表示されるという形になりますホームの内容が全て入力されていた場合にはまずこちらのプログラムが実行されますご利用はメールを送信する際にメールの内容などが文字化けしないようにするためのお決まりのパターンになりますそして次にメールを送信する元ですね送信者の方です送信者のメールアドレスを設定しますここら辺数 from というものを用意してその中にめ部活のメールアドレスを保存していますそして次は実際にメールを送信するプログラムになりますメールを送信するには MP sendmail というメソッド使えますこのメソッドだけで実際にメールが送信されますそして引数として一つ目は送信先のメールアドレス二つ目は賢明ですねそしてみっつ目は実際のメールの本文内容になりますそして最後よっつめはフロムというものをつけて送信者のメールアドレスを渡しますそして送信が実行されてその送信の実行結果というのがトゥルーオアフォルスで帰ってきますその送信結果を今回は Result という変数を作ってその結果をその変数に保存します送信結果を変数に保存したらその変数をまた if 文で判定をしますそうしんけいかが TRUE の場合にはこちらが実行されますまずはきちんと送信された場合にはポストに入っている値という名全て入らなくなりますのでそれを消しますパンセットというメソッドを使って引数に指定した値をクリアさせますそしてメールが送信されましたというメッセージをする中に保存していますもし何らかの理由でメールが送信できなかった場合にはエルスの方ですねメールの送信に失敗しましたというメッセージを保存しますそしてまたメールの送信プログラムが処理されたら最後 P タグのところですねにメッセージが表示されるという形になりますこれが実際のメールの送信プログラムの中身になりますこれをすればお問い合わせのホームであったりとかユーザーを登録した時の登録完了のメールといったものを作ることもできます2階は Web サービスでもよく見かける画像を登録する画像アップロード機能といったものを作ってみたいと思います