02 はじめてのメール送信

15
PHP講座(2) はじめてのメール送信 この講座では、メール送信について説明します。 HTMLだけではできないことの代表であるメール送信を学ぶことで、 PHPのすごさを皆さんにも感じていただきます。

description

PHPでメール送信を行います。

Transcript of 02 はじめてのメール送信

Page 1: 02 はじめてのメール送信

PHP講座(2)!はじめてのメール送信

この講座では、メール送信について説明します。 HTMLだけではできないことの代表であるメール送信を学ぶことで、 PHPのすごさを皆さんにも感じていただきます。

Page 2: 02 はじめてのメール送信

PHPが動く仕組みのおさらい

10.4.18

2

(C) 株式会社破滅派

Apacheが設定された  Webサーバ  

サーバ上でPHPが動くように  設定されたフォルダ  

ex.E¥xampplite¥htdocs  

PHPの規則にのっとって  書かれたテキストファイル  

ex.index.php  

PHPが動くのに必要なもの

1.

2.

3. <html>  <head>  <title><?php  echo  “はじめてのPHP”;  ?></title>  </head>  <body>  </body>  </html>

<?php  から  ?>まで囲まれたところだけがPHPとして処理される。  他の部分はそのまま表示。

を置く。

Page 3: 02 はじめてのメール送信

PHPとして書くことと「出力」の関係

10.4.18 (C) 株式会社破滅派

3

<?php  から ?>まで囲まれたところだけが  PHPとして処理される。  他の部分はそのまま表示。

<?php  から ?>で囲まれたところは  わざわざecho  しないと出力されない。  

出力はプログラムの一機能。

Page 4: 02 はじめてのメール送信

PHPのデフォルト設定

10.4.18 (C) 株式会社破滅派

4

 拡張子が.phpのものがPHPとして処理される。  

   <?php  ?>で囲まれた部分だけがプログラムとして処理される。  

   <?php  ?>で囲まれていない部分はそのまま出力さ れる。  

 デフォルトの出力フォーマットはtext/html。  

PHPはWebに特化した  プログラミング言語です。  

ここまでは前回の復習です。

Page 5: 02 はじめてのメール送信

どうやってユーザーの入力を取得するの?

10.4.18 (C) 株式会社破滅派

5

PHPで動的なサイトを作るためには、  ユーザが入力した情報を元に処理を行う必要があります。

ということは、ユーザが入力した情報を  取得する必要があります。

フォームを使います。

Page 6: 02 はじめてのメール送信

フォームとは?

10.4.18 (C) 株式会社破滅派

6

<form  method=“post”  action=“mai.php”>    <input  type=“text”  name=“mail”  />    <input  type=“text”  name=“name”  />    <input  type=“submit”  value=“送信”  />  

</form>  <!—        action属性  リンク先        method属性  $_GETか$_POSTか        type属性  どんな形のボタンか        method=“post”で$_POST[“name”]で        ユーザーの入力値が取れます。        たとえば、$_POST[“mail”]でユーザーが        入力したメールアドレスが取れます。  -­‐-­‐>  

formタグはユーザーが入力した値を  取得するための大事なHTMLタグです。

Page 7: 02 はじめてのメール送信

やってみよう!

10.4.18 (C) 株式会社破滅派

7

formタグから  得られる情報を  取得してみよう!

できましたか?  おめでとうございます。  

では、メールを送ってみましょう。

Page 8: 02 はじめてのメール送信

普通のHTMLがやってること

10.4.18 (C) 株式会社破滅派

8

index.htmlをくれ!

HTMLを表示するだけならPHPは何もしない

Apacheはブラウザに求められたファイルを表示する

Apache

ほらよ

PHP

Xampp

Page 9: 02 はじめてのメール送信

PHPがメール送信を行う仕組み

10.4.18 (C) 株式会社破滅派

9

HTMLフォームから  メール情報を送信  $_POST[“mail”]と  $_POST[“name”]

PHPがデータ処理を行い、MTA(メール送信システム)を起動する

了解!

PHPは他のアプリケーションを起動することができる! すごい!

Apache

PHPさん!

メールサーバさん!

了解!

Sendmail

PHP

Xampp

ほらよ

おらよ

Page 10: 02 はじめてのメール送信

メール送信の仕組み

10.4.18 (C) 株式会社破滅派

10

Xampp(みなさんの持ってるUSB)は  実のところメールを送信できません。

デジハリに限らず、きちんと  外部に公開されるよう設定された  サーバでないと、メールは送れません。

先生が用意しました。

Page 11: 02 はじめてのメール送信

やってみよう!

10.4.18 (C) 株式会社破滅派

11

formタグから  得られる情報を  

元にメールを送ってみよう!

できましたか?  おめでとうございます。  

では、チェックしてみましょう。

Page 12: 02 はじめてのメール送信

なんでもかんでもメール送っちゃだめだよね

10.4.18 (C) 株式会社破滅派

12

みなさんが受け取っているスパムメールは、他人が作った  メールフォームを利用していたりします。

誰でも好きな宛先に遅れるメールフォームを作るのは危険!  宛先が決まったメールアドレスにだけ送るようにします。

ではどうやって?

Page 13: 02 はじめてのメール送信

制御構文

10.4.18 (C) 株式会社破滅派

13

【条件分岐構文(制御構文)】

if(条件1){    //条件1に合致する場合    //ここに書いた処理が行われる  

}elseif(条件2){    //条件2に合致する場合    //ここに書いた処理が行われる  

}else{    //いずれにも合致しない場合    //ここの処理が行われる  

}

if(条件){    //条件に合致する場合のみ    //ここに書いた処理が行われる  

}

if(条件1){    //条件に合致する場合    //ここに書いた処理が行われる  

}else{    //合致しない場合    //ここの処理が行われる  

}

条件はtrueかfalseで評価する    →どうやって?

二者択一的条件分岐

排他的な条件分岐 複数条件分岐

Page 14: 02 はじめてのメール送信

条件がtrueかfalseか確かめる方法

10.4.18 (C) 株式会社破滅派

14

1.比較演算子を使う

==    等しい      ex.  “犬”  ==  “犬”      //true  !=    等しくない    ex.  わたし  !=  たわし    //true(等しくない)  <,>    小さい,大きい  ex.  100  <  101          //true  >=,  <=  以上、以下    ex.  5  >=  5        //true

2.関数を使う is_int($hoge)  

 $hogeが整数の場合はtrue、整数じゃなければfalseとなる。  

条件の作り方はいくらでもある!

Page 15: 02 はじめてのメール送信

まとめ

10.4.18 (C) 株式会社破滅派

15

 PHPがどうやって動くかわかった。  

 $_GETとか$_POSTでユーザーの情報が取得できることがわかった。  

 ifっていうものがあるということがわかった。  

おめでとうございます。