70日目 | web制作
本日は…
PHP
■開始
そもそもPHPとは…
・jsはクライアントのPCで動く言語だったが、phpはサーバーで動く言語
・xamppとは…
○xはクロスの意味
○aはapache(phpを動かす環境)
○mはMySQL(データベース)
○pはPHPとperl
0.フォルダを作成する
1.phpファイルを作ってみる
構文:
<?php
からはじめる!!
※閉じタグは
?>
だが、後ろにhtmlドキュメントなどがないときは必要ない。
body 内に書くなど、後ろにhtmlドキュメントがある場合のみつける。そうじゃないときはいらない。
phpの変数名:
<? $変数名 ='';
で定義する。
※後ろに ; をつける。
→最後の行= ?> の直前は必要ない( ?> が;も含む)が基本は;で終わる
このままだと、ソースを見たときに
<body> <h1>見出し</h1> <p>呼び出される$○○</p></body>
という形で表示され、改行されない。
<? echo $hensu."\n"
としてやると、
<body> <h1>見出し</h1> <p>呼び出される$○○</p>//php上はこの後ろに."\n"が入っている </body>
ちゃんと改行される。
※\n の「\」はバックスラッシュで、円マークではない。
※※「.」はjsで言うところの + で文字列連結の演算子。
→書き方は
<? $hensu = "<p>代入したい文字</p>.\n"
でもOK。
3.フォームを作ってみる
①htmlファイルを作る
<form action="post_recieve.php" method="post"> <input type="text" name="you"> <input type="submit" value="送信"> </form>
という中身のhtmファイルを作成。
②post_recieve.phpファイルを作る
<? $you = $_POST['you']; echo $you;
と言う中身のphpファイルを作成。
→htmlファイルを呼び出す、フォームのテキストエリアに文字を入力して、送信してみる
→post_recieve.phpが表示されて、入力した文字が表示される
※_POSTの中には送信された情報が全部入ってくる
※name属性によってその中の一部を呼び出している
htmlファイルに
<input type="text" name="first">
を書き足してみる。
→テキストエリアがもう1つ増える
phpファイルに
<? $first = $_POST['first'] echo $first;
書き足して、呼び出してやる。
youとfirstの中身が両方表示される。
※改行のために
echo $you.'<br>';
としてやると結果が改行される。
methodがgetのときは呼び出しも
<? $name = $_GET['name']
という形になる。
※呼び出しの形は
<? echo "あなたのお名前は{$name}です";
という形することも可能。
■POSTとGETの違いは…
postはURLに入力したパラメーターが表示されない。⇒機密性が高い(ただし完璧ではない)
getはパラメーターがURLに付加される。⇒機密性が低いし、履歴にも残る
→これを利用して、URLをそのままアンカーリンクに貼ってやると、パラメーターが入った状態でphpファイルが表示される(任意のパラメータを入れたリンクを貼っておくことが可能)
■フォームへの悪戯防止!
出力側を
<? echo htmlspecialchars($name,ENT_QUOTE,'utf-8');
をつけてやる。
<や>を実態参照の<などに読み替えてくれる