Robinit

IT関連メモ

PHP 基礎2

GETメソッドの引数を受け取る方法

例えば、URLに以下のような引数をセットしGETメソッドを発行する。

http://localhost:8080/index.php?name=kawa&gender=man&kimi=sugoi 

? 以降が、引数になる。&で各引数をで区切って記述する。
PHPでGETの引数を利用する方法は以下のように記述する。

<?php
print_r($_GET);    //引数すべてを標準出力
echo $_GET['name'];
echo $_GET['gender'];
?>

例えば、フォームから引数を設定する場合、以下のように記述する。

<?php
print_r($_GET);
echo $_GET['name'];
echo $_GET['gender'];
?>

<form>
    <input type="text" name="name">
    <input type="checkbox" name="gender" value="man">man
    <input type="checkbox" name="gender" value="woman">woman
    <input type="submit" value="send">
</form>

POSTメソッドの引数を受け取る方法

POSTメソッドの引数を受け取るサンプル実装
ユーザが名前を入力すれば、”Hello 名前” という文字が表示される。

<?php
    if($_POST){
        echo "Hello ".$_POST['name'];
    }
?>

<form method="post">
    <input type="text" name="name">
    <input type="submit" value="send">
</form>

Emailを送信する方法

mail()メソッドを利用してメールを送信する
mail()メソッドの詳細は以下参照。
PHP: mail - Manual

サンプル実装は以下のとおり。

<?php
$emaitTo = "test@test.com";
$subject = "Test Subject";
$body = "Test Body";
$headers = "";

if(mail($emailTo, $subject, $body, $headers)){
    echo "Email Success";
} else {
    echo "Email Faild";
}
?>

実行して以下のようなエラーが発生した場合、
f:id:wonder_three:20180127141916p:plain
送信元メールアドレスのFromが指定していないことが原因。

php.ini の

; For Win32 only.
;sendmail_from = me@example.com

の部分を、

; For Win32 only.
sendmail_from = 利用するメールアドレス

に更新すること。