tag:crieit.net,2005:https://crieit.net/tags/%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0/feed 「メールフォーム」の記事 - Crieit Crieitでタグ「メールフォーム」に投稿された最近の記事 2019-12-21T23:07:18+09:00 https://crieit.net/tags/%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0/feed tag:crieit.net,2005:PublicArticle/15631 2019-12-21T21:09:07+09:00 2019-12-21T23:07:18+09:00 https://crieit.net/posts/PHP-PHP-5dfe0b63317e9 PHPでメールフォームを自前でつくる。ゆるふわPHP第7回 <p><a href="https://crieit.now.sh/upload_images/16eb284d6af2b1db9248e9de7b797c045dfe0b57b1cd0.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/16eb284d6af2b1db9248e9de7b797c045dfe0b57b1cd0.jpeg?mw=700" alt="DAEBDBFD-2300-4F1B-80CC-0C4072C90FA9.jpeg" /></a></p> <h2 id="第7章 完成!メールフォーム"><a href="#%E7%AC%AC%EF%BC%97%E7%AB%A0%E3%80%80%E5%AE%8C%E6%88%90%EF%BC%81%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0">第7章 完成!メールフォーム</a></h2> <p>ようやくここまでたどり着きました。今まで学習してきた第1章から第6章までを全て組み合わせて、とうとうメールフォームが完成します。</p> <p>最後にもう一度全体の流れを確認します。第1回で見た図をもう一度おさらいしてみましょう。<br /> <a href="https://crieit.now.sh/upload_images/cb1a5742702ae942744dd28320abe2035df774249d294.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/cb1a5742702ae942744dd28320abe2035df774249d294.jpeg?mw=700" alt="メールフォームのしくみ" /></a></p> <p>ユーザーがブラウザのメールフォームからウェブサーバーへデータを送信。<br /> ウェブサーバーがそのデータを受け取って開発者へメールを送信するといった流れになります。</p> <p>※メールフォームが動作するためにはお使いのサーバーがmb_send_mailに対応していることが必要になります。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php if ($_POST["submit"] == "メール送信") { mb_language("Ja"); mb_internal_encoding("UTF-8"); $mailto="[email protected]"; // ←このメアドをご自分のメアドに変更して下さい。 $subject = htmlspecialchars($_POST["subject"]); $content = htmlspecialchars($_POST["content"]); $name = htmlspecialchars($_POST["name"]); $email = htmlspecialchars$_POST["email"]); $mailfrom="From:" .mb_encode_mimeheader($name) ."<".$email.">"; mb_send_mail($mailto,$subject,$content,$mailfrom); } ?> <form method="post" action="mailform.php"> お名前:<input type="text" name="name"> メールアドレス:<input type="text" name="email"> 件名:<input type="text" name="subject"> お問い合わせ内容:<textarea name="content" cols="50" rows="5"></textarea> <input type="submit" name="submit" value="メール送信"> </form> </body> </html> </code></pre> <p>12行目の変数$mailtoの値を自分のメールアドレスにしてください。</p> <p>上記プログラムをmailform.phpとしてサーバーにアップ。<br /> ブラウザでアクセスすると、次のような画面が表示されます。</p> <p>必要事項を記入して「メール送信」をクリック。<br /> メールが送信されてくれば成功です!!</p> <p>以上、ゆるふわPHPチュートリアル「メールフォームを自前でつくる」は今回で最終回になります。おつかれさまでした。<br /> このチュートリアル連載が読んでいただいた誰かの、あなたの役に立てば幸いです。本望です。</p> <p>よいプログラミングライフを!!</p> ケイジ tag:crieit.net,2005:PublicArticle/15628 2019-12-20T18:57:24+09:00 2019-12-21T23:06:42+09:00 https://crieit.net/posts/PHP-PHP-5dfc9b04e6b4e PHPでメールフォームを自前でつくる。ゆるふわPHP第6回 <p><a href="https://crieit.now.sh/upload_images/70ddb8d272f1fb948e2d5d475cfac4385df772d798d35.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/70ddb8d272f1fb948e2d5d475cfac4385df772d798d35.jpeg?mw=700" alt="ゆるゆるPHP第6回" /></a></p> <h2 id="第6章 メール送信できちゃうんです!"><a href="#%E7%AC%AC%EF%BC%96%E7%AB%A0%E3%80%80%E3%83%A1%E3%83%BC%E3%83%AB%E9%80%81%E4%BF%A1%E3%81%A7%E3%81%8D%E3%81%A1%E3%82%83%E3%81%86%E3%82%93%E3%81%A7%E3%81%99%EF%BC%81">第6章 メール送信できちゃうんです!</a></h2> <p>phpにはメールを送信するmb_send_mailという命令があり、書式は次のようになります。</p> <p>※mb_send_mailが許可されていないサーバーもあります。お使いのサーバーでmb_send_mailが許可されているかご確認ください。</p> <pre><code>mb_send_mail("[email protected]", "メール送信について", "こんにちは", "From:山田太郎<[email protected]>"); </code></pre> <p>上記プログラムの<br /> 「[email protected]」が送信先メールアドレス、<br /> 「メール送信について」が件名、<br /> 「こんにちは」が本文、<br /> 「From:山田太郎」が送信元メールアドレスになります。</p> <p>また、日本語を送信する場合は言語の種類(日本語)と文字コードをそれぞれ次のプログラムのように「mb_language」と「mb_internal_encording」で指定しなければ、文字化けの原因となることがあり、受信したメールが全く読めないということになることもあります。</p> <p>実際にメールを送信するプログラムです。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php // 言語を日本語に設定 mb_language("Ja"); // 文字コードを設定(設定しないと文字化けの原因になることもあります) mb_internal_encoding("UTF-8"); // 送信先のメアド ↓ここにご自分のメールアドレスを代入してください。 $mailto="[email protected]"; // 件名 $subject="件名(タイトル)です。"; // 本文 $content="内容を入れます。"; // 送信者 $mailfrom="From:".mb_encode_mimeheader("山田太郎")."<[email protected]>"; // 送信します mb_send_mail($mailto, $subject, $content, $mailfrom); ?> </body> </html> </code></pre> <p>15行目の変数$mailtoに自分のメールアドレスを代入してください。ファイル名をmail.phpとしてブラウザでアクセス。</p> <p>自分宛にメールが送信されれば成功です。</p> <p>次回はラスト「第7章 <a href="https://crieit.net/posts/PHP-PHP-5dfe0b63317e9">完成!メールフォーム</a>」になります。もう一息!</p> ケイジ tag:crieit.net,2005:PublicArticle/15625 2019-12-19T18:37:14+09:00 2019-12-21T22:57:10+09:00 https://crieit.net/posts/PHP-PHP-5dfb44ca45b7e PHPでメールフォームを自前でつくる。ゆるふわPHP第5回 <p><a href="https://crieit.now.sh/upload_images/6b33941a2e2feb9085362f3ed6e1458f5df771e992c2b.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6b33941a2e2feb9085362f3ed6e1458f5df771e992c2b.jpeg?mw=700" alt="ゆるふわPHP第5回" /></a></p> <h2 id="第5章 条件式ってなんなんですか?"><a href="#%E7%AC%AC%EF%BC%95%E7%AB%A0%E3%80%80%E6%9D%A1%E4%BB%B6%E5%BC%8F%E3%81%A3%E3%81%A6%E3%81%AA%E3%82%93%E3%81%AA%E3%82%93%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F">第5章 条件式ってなんなんですか?</a></h2> <p>条件式とは、「もし~ならば、~する」といったように、条件を満たしていればその後のプログラムを実行させる命令になり、書式は次の様になります。</p> <pre><code>// もし、変数$ageが20ならば「条件式」と表示させる。 if ($age == 20) { echo "条件式"; } </code></pre> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php $age = 20; if ($age == 20) { echo "条件式"; } ?> </body> </html> </code></pre> <p>上記プログラムをcode05.phpとしてサーバにアップすると「条件式」と表示されます。</p> <p>8行目の変数$ageの値を20以外の値にすると、表示されなくなることを確認してください。</p> <p>また、等号をあらわす「==」の他に「>」「=」「</p> <pre><code>// もし、変数$ageが20より大きければ if ($age > 20) // もし、変数$ageが20より小さければ if ($age < 20) // もし、変数$ageが20以上ならば if ($age >= 20) // もし、変数$ageが20以下ならば if ($age <= 20) // もし、変数$ageが20でなければ if ($age != 20) </code></pre> <p>「<a href="https://crieit.net/posts/PHP-PHP-5dfc9b04e6b4e">第6章 メール送信できちゃうんです!!</a>」に続きます。</p> ケイジ tag:crieit.net,2005:PublicArticle/15620 2019-12-18T18:07:48+09:00 2019-12-21T22:55:40+09:00 https://crieit.net/posts/PHP-PHP-5df9ec64dd793 PHPでメールフォームを自前でつくる。ゆるふわPHP第4回 <p><a href="https://crieit.now.sh/upload_images/541ac187473356fab4982c24bd518f195df770c957cc0.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/541ac187473356fab4982c24bd518f195df770c957cc0.jpeg?mw=700" alt="ゆるふわPHP第4回" /></a></p> <h2 id="第4章 フォームで値を渡します"><a href="#%E7%AC%AC%EF%BC%94%E7%AB%A0%E3%80%80%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%A7%E5%80%A4%E3%82%92%E6%B8%A1%E3%81%97%E3%81%BE%E3%81%99">第4章 フォームで値を渡します</a></h2> <p>htmlタグの</p> <pre><code><input name="hoge"> </code></pre> <p>で送信された値を、phpで</p> <pre><code>$_POST["hoge"] </code></pre> <p>と記述して受け取ります。</p> <p>その際にhtmlのformタグで値の渡し先を指定し、メソッドをgetかpostかを指定する必要があります。getとpostの違いは今は省略しますが、今回はpostを指定します。</p> <p>また、受け取る値はhtmlspecialchars関数を使ってクロスサイトスクリプティングという悪意のある攻撃からのセキュリティ対策をします。</p> <pre><code>htmlspecialchars($_POST["hoge"]) </code></pre> <blockquote> <p>余談だけれど大事なこと<br /> プログラミングをする際にセキュリティ対策は非常に重要なことになります。セキュリティについてのとりあえずのこの1冊はこれ。<br /> 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践<br /> <a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/dp/4797393165/">https://www.amazon.co.jp/dp/4797393165/</a></p> </blockquote> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <form method="post" action="form.php"> <input type="text" name="value"> <input type="submit" name="submit" value="送信"> </form> 渡された値は <?php echo $_POST["value"]; ?> です。 </body> </html> </code></pre> <p>上記プログラムをform.phpとして保存。サーバにアップしてブラウザでアクセスすると、まず値を入力するテキスト入力フォームと送信ボタン、「渡された値はです。」と表示されます。</p> <p>テキスト入力フォームになにか文字や数字などの文字列を入力して「送信」ボタンをクリックすると、「渡された値は○○○です。」と入力された文字列が表示されます。</p> <p>「<a href="https://crieit.net/posts/PHP-PHP-5dfb44ca45b7e">第5章 条件式ってなんなんですか?</a>」に続く。</p> ケイジ tag:crieit.net,2005:PublicArticle/15615 2019-12-17T18:15:15+09:00 2019-12-18T18:08:27+09:00 https://crieit.net/posts/PHP-PHP-5df89ca36ab96 PHPでメールフォームを自前でつくる。ゆるふわPHP第3回 <p><a href="https://crieit.now.sh/upload_images/8754dbb610186180b9a085126fd4a3805df769e7ccac3.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8754dbb610186180b9a085126fd4a3805df769e7ccac3.jpeg?mw=700" alt="295E3AA1-F0D4-4605-B5FD-4C3DD2D56B9D.jpeg" /></a></p> <h2 id="第3章 四則演算ってなんなの?"><a href="#%E7%AC%AC%EF%BC%93%E7%AB%A0%E3%80%80%E5%9B%9B%E5%89%87%E6%BC%94%E7%AE%97%E3%81%A3%E3%81%A6%E3%81%AA%E3%82%93%E3%81%AA%E3%81%AE%EF%BC%9F">第3章 四則演算ってなんなの?</a></h2> <p>四則演算とは足し算、引き算、かけ算、割り算のことです。</p> <p>四則演算にはそれぞれ次のような記号を使います。<br /> 「+」 たす<br /> 「-」 ひく<br /> 「*」 かける<br /> 「/」 わる</p> <pre><code>$a = 5 + 8; </code></pre> <p>とすると変数$aには5たす8の答えである13が代入され</p> <pre><code>$b = 20/4; </code></pre> <p>とすると変数$bには20わる4の答えである5が代入されます。</p> <pre><code>$a = 15; $b = 3; $c = $a*$b; </code></pre> <p>上の式のようにあらかじめ変数$aに15を、変数$bに3を代入しておいて計算することもできます。</p> <p>ちなみに上記の場合は変数$cには15かける3の答えである45が代入されます。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php $value1 = 8; $value2 = 3; $answer1 = $value1 + $value2; $answer2 = $value1 - $value2; $answer3 = $value1 * $value2; $answer4 = $value1 / $value2; echo $value1 . "と" . $value2 . "を"; echo "たすと" . $answer1 . "、ひくと" . $answer2 . "、"; echo "かけると" . $answer3 . "、わると" . $answer4 . "になります。"; ?> </body> </html> </code></pre> <p>前回同様、上記ファイルを「code03.php」としてブラウザでアクセスしてみてください。<br /> 「8と3をたすと11、ひくと5、かけると24、わると2.66666666667になります。」<br /> と表示されれば成功です。</p> <p>8行目と9行目の$value1と$value2に代入する値をいろいろ変更すると、表示される結果が変わってくるのでいろいろと試してみてください。</p> <p>「<a href="https://crieit.net/posts/PHP-PHP-5df9ec64dd793">第4章 フォームで値を渡します</a>」に続く。</p> ケイジ tag:crieit.net,2005:PublicArticle/15612 2019-12-16T11:51:01+09:00 2019-12-17T18:33:44+09:00 https://crieit.net/posts/PHP-PHP PHPでメールフォームを自前でつくる。ゆるふわPHP第2回 <p><a href="https://crieit.now.sh/upload_images/239aaa0351904a62c8be7438b13f743d5df6cad4f0fb1.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/239aaa0351904a62c8be7438b13f743d5df6cad4f0fb1.jpeg?mw=700" alt="ゆるふわPHP第2回" /></a></p> <h2 id="第2章 変数ってなに?"><a href="#%E7%AC%AC%EF%BC%92%E7%AB%A0%E3%80%80%E5%A4%89%E6%95%B0%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%AB%EF%BC%9F">第2章 変数ってなに?</a></h2> <p>変数とは数値や文字列を入れる入れ物のようなものです。先頭に「$」(ダラーまたはダラ)を付けた半角英数字の文字列が変数と見なされます。文字列は一部例外がありますが、基本的にはなんでも構いません。$a, $value, $hoge などなど。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php $value = "Hello, World!!"; echo $value; ?> </body> </html> </code></pre> <p>上記のように記述し、ファイル名を「code02-01.php」としてお手持ちのサーバーにアップロードすると、前回と同様に「Hello, World!!」と表示されます。</p> <pre><code>$value = "Hello, World!!"; </code></pre> <p>は$valueに文字列”Hello, World!!”を「代入する」と言います。</p> <p>また、文字列の他にも数値を代入することもできます。<br /> 文字列は前後を「 ” 」(ダブルクォーテーション)で囲みますが、数値は前後に何も付けません。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php $age = 23; echo $age; ?> </body> </html> </code></pre> <p>上記を入力し、ファイル名を「code02-02.php」としてアップロードしてブラウザで見てみると「23」と表示されます。</p> <p>また、文字列同士や文字列と数値などを「 . 」(ドット)で連結することもできます。</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php $before = "わたしは"; $age = 23; $after = "才です。"; echo $before . $age . $after; ?> </body> </html> </code></pre> <p>上記ファイルを「code02-03.php」と入力してサーバーにアップ、ブラウザでアクセスすると「わたしは23才です。」と表示されます。</p> <p>「<a href="https://crieit.net/posts/PHP-PHP-5df89ca36ab96">第3章 四則演算ってなんなの</a>?」に続きます。</p> ケイジ tag:crieit.net,2005:PublicArticle/15609 2019-12-15T08:59:27+09:00 2019-12-21T23:09:04+09:00 https://crieit.net/posts/PHP-PHP-1 PHPでメールフォームを自前でつくる。ゆるふわPHP第1回 <p><a href="https://crieit.now.sh/upload_images/6ea0459bccf58b39d90a9b5e4ade13b35df5a0bfb37e7.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6ea0459bccf58b39d90a9b5e4ade13b35df5a0bfb37e7.jpeg?mw=700" alt="ゆるふわPHP" /></a><br /> Crieitアドベントカレンダー参加記事。</p> <p>他の皆さまがドシドシとハイレベルなことを書いている中、自分はあせらず背伸びせず、自分にできることを。</p> <p>というわけでプログラミング初心者向けに「PHPでメールフォームを作ってみよう!」記事を公開します。</p> <h2 id="メールフォームのしくみ"><a href="#%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF">メールフォームのしくみ</a></h2> <p>今回作成するメールフォームのしくみはざっくりと下の図のようになります。<br /> ユーザーがブラウザのメールフォームからウェブサーバーへデータを送信。<br /> ウェブサーバーがそのデータを受け取って開発者へメールを送信する。</p> <p><a href="https://crieit.now.sh/upload_images/59f5493fff94e4762643f1612f0d70895df59bcf01b34.jpeg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/59f5493fff94e4762643f1612f0d70895df59bcf01b34.jpeg?mw=700" alt="メールフォームのしくみ" /></a></p> <h2 id="対象読者"><a href="#%E5%AF%BE%E8%B1%A1%E8%AA%AD%E8%80%85">対象読者</a></h2> <ul> <li>HTMLとCSSはワリと覚えてきたけど次に何を覚えよう?</li> <li>Googleフォームはメールフォームを簡単に作成できて便利だけど、自由にデザインできないのが不便。</li> <li>WordPressのテーマとかをいじってみたいんだけどPHPっていうのがいじれると有利らしい</li> </ul> <p>といった方々が対象です。</p> <p>PHPとはWebサイト上で動作するプログラムの一つで、HTML内に記述することができるので、お手軽で便利。<br /> メールフォームを動作させるためにはお使いのサーバーがメールを送るのに必要になる、mb_send_mailに対応していることが必要になります。<br /> 契約しているレンタルサーバーがPHPに対応しているなら、だれでも簡単に試すことができます。</p> <ul> <li>おすすめレンタルサーバー<br /> さくらのレンタルサーバ・スタンダード<br /> 月額515円(初期費用1,029円が必要)と安くて非常に安定していますし、今回必要になるmb_send_mailという関数にも対応しています。</li> </ul> <h2 id="アジェンダ"><a href="#%E3%82%A2%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%80">アジェンダ</a></h2> <p>この連載ではHTML,CSSを一通り習得した方を対象に以下の項目に沿ってPHPで実際にメール送信ができるメールフォームを完成させるまでをチュートリアルしていきたいと思います。</p> <p>第1章 PHPってなに?(この記事)<br /> 第2章 <a href="https://crieit.net/posts/PHP-PHP">変数ってなに?</a><br /> 第3章 <a href="https://crieit.net/posts/PHP-PHP-5df89ca36ab96">四則演算ってなんなの?</a><br /> 第4章 <a href="https://crieit.net/posts/PHP-PHP-5df9ec64dd793">フォームで値を渡します</a><br /> 第5章 <a href="https://crieit.net/posts/PHP-PHP-5dfb44ca45b7e">条件式ってなんなんですか?</a><br /> 第6章 <a href="https://crieit.net/posts/PHP-PHP-5dfc9b04e6b4e">メール送信できちゃうんです!!</a><br /> 第7章 <a href="https://crieit.net/posts/PHP-PHP-5dfe0b63317e9">メールフォーム完成!!</a></p> <p>それでは、第1章スタート!!</p> <h2 id="第1章 PHPってなに?"><a href="#%E7%AC%AC%EF%BC%91%E7%AB%A0%E3%80%80PHP%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%AB%EF%BC%9F">第1章 PHPってなに?</a></h2> <p>PHPとはwebサイト上で動作するプログラムの一つで、HTML内に記述することができるので、お手軽で便利。</p> <h3 id="PHPのルール"><a href="#PHP%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%AB">PHPのルール</a></h3> <ul> <li>拡張子は基本的には「.php」</li> <li>PHPはプログラムの始まりを「 <?php」ではじめ、終わりを「?>」で閉じる</li> <li>各行の終わりには基本的には「 ; 」(読み方:セミコロン)を付ける</li> </ul> <p>*コードその1</p> <pre><code><html lang="ja"> <head> <meta charset="UTF-8"> <title>はじめてのPHP</title> </head> <body> <?php echo "Hello, World!!"; ?> </body> </html> </code></pre> <p>上記のように記述し、ファイル名を「code01.php」としてお手持ちのサーバーにアップしてみてください。<br /> Chromeなどのブラウザでアップしたphpファイルにアクセスし、「Hello, World!!」と表示されれば成功です。</p> <p>次回、「<a href="https://crieit.net/posts/PHP-PHP">第2章 変数ってなに?</a>」に続きます。</p> ケイジ