progate_php_19 お問い合わせフォームを作ろう
phpではなく、HTMLのformタグをやった。
<form action="sent.php" method="post"></form>
actionのところにデータを渡す先を書く。
methodにはpostかget。getだとパラメータがURLに表示され、postだとURLに表示されない。
参考
XPのsystem32はどこか
メモ
普通に探してもまず見つからない。
スタートメニューからファイル名を指定して実行にc:\windows\system32と入れて実行。
progate_php_18 関数を自作する
関数を自作した。
関数を作るには"function 関数名(引数1、引数2、...){ 処理 }"という書き方。
関数を呼び出す際、関数に好きな値を渡して(入れて)処理させることができる。
関数名、引数の名前は自由につけることが出来る。
<?php //この下に関数getRectangleAreaを作ってください //引数として$heightと$widthを受け取り、 //その面積をreturnします function getRectangleArea ($height,$width){ return $height * $width ; } //この下で$rectangle_areaに高さが5、幅が10の長方形の面積を、 //getRectangleArea関数を用いて代入してください $rectangle_are = getRectangleArea (5,10); //この下に関数printAreaを作ってください //引数として$areaを受け取り、 //"面積は".$area."です。"とechoします function printArea ($area){ echo "面積は".$area."です。"; } //この下で$rectangle_areaの面積を、 //printArea関数を用いてechoしてください。 printArea ($rectangle_are); ?>
一番上で作った関数getRectangleAreaの処理が$heightと$widthを掛けるようになっている。
$rectangle_areは5×10ということになるので、50ということになる。
真ん中で作った関数function printAreaは$areaを"面積は".$area."です。"という形でechoするようになっている。
なので、一番下のprintArea ($rectangle_are);は「面積は50です」と表示される。
複数のところで使うものをこうやってまとめると、ここだけ変更すればいいので便利なんだそうな。
確かにこちらの方が間違いなく楽だと思う。使用した全箇所に反映されるのだから、最初に関数を作っておいたほうが良いと思った。
参考
progate_php_17 strlenとcountとrand
strlenとcountとrandをやった。
strlenは()内の文字列(引数)の文字数を返してくれる。
countは配列のデータ数を返してくれる。文字通り数える。
randは1つ目の引数と2つ目の引数の間でランダムな整数を返してくれる。
どこからどこまでかを指定して、その条件の中でランダムに数字をだしてくれる。
<?php $str = "progate"; //strlenを用いて$strの長さをechoしてください echo strlen($str); $array = array('HTML', 'CSS', 'PHP'); //countを用いて$arrayの要素数をechoしてください echo count($array); //randを用いて10から15までのランダムな数字をechoしてください echo rand ('10','15'); ?>
$strに入ってる文字数は7文字なので、下でechoしているstrlenは7と返してくる。
$arrayにはデータが3つ入っているので、下でechoしているcountは3と返してくる。
一番下でechoされているrandは指定された10~15の間の数をランダムに返してくる。
strlenやcountはフォームとか作るのに使うのかなと思った。
テキストエリアの文字数を返してもらって、もし何文字以上ならアラートみたいな。
参考
progate_php_16 countinue文
cootinue文をやった。
continue文は条件の周だけをスキップし、ループそのものは継続する。
<?php //この下にfor文を書いてください for ($i = 1 ; $i <= 1000 ; $i++){ if($i % 3 == 0){ continue; } echo $i .'<br>'; } ?>
この場合、$iを1000になるまでループして、echoする。
下のifで3の倍数の時だけcountinueでスキップする。
なので、3の倍数は表示されない。
breakは完全にループを抜けたけど、countinueは一定の条件だけ抜ける。
for,while,foreachの中で使うことが出来る。
参考
progate_php_15 break
breakをやった。
for,while,foreachと一緒に使うのが一般的らしい。
前にswitchで少しやった。
<?php //この下にfor文を書いてください for($i = 1 ; $i <= 1000; $i++){ if($i > 500){ break; } echo $i ; echo '<br>'; } ?>
この場合$iを1000まで1ずつ繰り返しechoするようになっているけど、
下のifで$iは500を上回った次点でbreak、つまりループを中断するようになってる。
結果は500までが改行されて表示されるようになる。
参考
Web業界で働くためのPHP入門(7):PHPのfor文&怖い無限ループから脱出できるbreak/スキップできるcontinue (1/2) - @IT
progate_php_14 foreach
foreachをやった。
foreachは配列や連想配列を先頭のデータから繰り返し処理する。
asの後ろの変数に繰り返す度にデータの先頭から順に代入されていく。
<?php $scores = array('数学' => 70, '英語' => 90, '国語' => 80); //この下にforeach文を書いてください foreach($scores as $key => $value ) { echo $key .'は'.$value.'点です。'; } ?>
この場合は$Keyのところに文字列が入り、&valueに値が入って各教科の点数を表示する。
参考