- ①ファイルの拡張子は、『.php』にする
②プログラムの最初と最後を『<?php 』『?>』で囲む
htmlの一部をphpで記述することも出来る。
③行の終わりに『セミコロン(;)』を記述する。
④phpは、サーバーサイドスクリプト
(JavaScriptはクライアントサイドスクリプト)
PHP単独では使われない、HTMLと絡めて使用する。
<?php ~ ?>
『~』の部分にphpスクリプトを記述する。
変数宣言
『$変数名』の形式で変数を宣言します。
変数名の前に『$』を付ける。
データ型の定義はどのようにするか?
$suchi= 1;
$char=’文字列’;
変数のスコープ(有効範囲)
スーパーグローバル変数⇒異なるファイル間で有効なな変数。
グローバル変数⇒同じファイル内で有効な変数。
ローカル変数 ⇒ 制御文(if文、for文など)のブロック内でのみ有効な変数。
配列
配列
配列の値、1つ1つを『要素』という。
要素には、自動的に先頭からインデックス(index)番号が割り振られる。
インデックス番号(添え字)は、0から始まる。(※ほとんどの言語の配列は、インデックス番号0から始まる。)
配列の初期化(配列要素に値を代入する事)
異なるデータ型の値を要素に出来るか? javascriptだと出来た。var型自体がvariant型でどんな型でも代入出来るから。
var cou = new Array(5);
$num = array(1,48,99);
連想配列(ハッシュ)
配列は、インデックス番号で要素をの値を扱うが、連想配列(ハッシュ)では、
$変数名=array(‘キー’=>値 , ‘キー’=>値,’キー’=>値);
$items=array(‘a-1’=>’ガム’,’b-2’=>’チョコレート’,’c-3’=>’クッキー’);
キーバリュー型(key-value型)
キー(key)は、文字列になるので、『’』(シングルクォーテーション)や『”』(ダブルクォーテーション)で囲む。
(配列の参照)
$items[’c-3’];
$key=’c-3′; $items=[$key];
他言語での『配列』、『連想配列(ハッシュ)』比較
文字連結演算子
(.)ドットで文字を連結する。
VBA、JavaScript、Javaでいう『+』演算子
フォームデータの送信
フォームに記入したデータはform要素のaction属性で指定したファイルに送信される。
このform要素は、HTMLなのでPHPとは別に覚える。HTMLに関してはこちらの記事を参照。
HTMLのinput要素、form要素
同じサーバー内に保存されているファイルだけでなく、別のネットワークのサーバーにもデータを送信できる。『https方式』のURLを記述する。
『form要素』内にデータ入力フォームの要素を作成する。
『action属性』の属性値にデータの送信先を記述する。外部ネットワークに送信する場合は、『https://』をつける。
『method属性』の属性値に通信方式を記述する
『スーパーグローバル変数』ファイル間をまたいでデータを格納し、送受信ができる変数。
通信方式には、以下の3種類がある
GET方式 ⇒URLパラメーターに送信するデータが表示されてしまう。重要な情報を送信する際は使用しない❗
POST方式
⇒GET方式のように送信データがURLパラメーターに表示されない。最低限セキュリティを高めることが出来る。
REQUEST方式
データ送信方式
スーパーグローバル変数
PHPには、『スーパーグローバル変数』と言うものがある。
これは、phpファイル間でデータのやり取り(送受信)を行う際に使用される。
get 方式 /request 方式 …URLパラメーターに値として渡され送信先にデータを渡す。
通信時、URLパラメーターが暗号化されないので、重要な情報の送信には、使用しない!
変数なので、先頭に『$』マークが付いている。
$_GET
$_REQUEST
post方式
$_POST
$_POSTを使って送信すれば、必ずしもセキュリティ上安全と言う訳ではないが、
$_GETに比べ安全。送信時URLパラメーターに情報が表示されないし
htmlspecialchars
ファンクション(function/関数)
⇒フォームに入力されたタグを文字列に変換するファンクション。悪意のあるhtmlの送信を回避。
htmlspecialchars[$GET[‘] ,Q ]
画面に引数に渡した値を表示する。
printファンクション
echoファンクション
引数(ひきすう/パラメーター)
制御文
if文
if(条件式){
}
if(条件式){
}eles{
}
データのアップロード
メールの送信
PHP言語を使うメリットは、サーバーサイドスクリプトなので、同じサーバー内に格納されているデータベース(DataBase)を操作することが出来る。
MySQL
LiteSQL
GUI入力ツール『phpMyAdmin』を使うとMySQLをGUI形式で操作することが出来る。
しかし、PHPでMySQLを操作するには、phpMySQLではなく、MySQLの操作コマンドを使わなければいけない。
MySQLコード
PHPでMySQLを操作
SQLサーバとブラウザ(Webサーバ)でデータのやり取りをするには、PHPファイルに以下のコード記述する。
①SQLサーバに接続。
②SQLサーバのデータベースエンジンにSQL文で指令を出す。
③SQLサーバと接続を切断する。
①SQLサーバに接続
$dsn=’mysql:dbname=shop;host=localhost;charset=utf8′;
$user=’root’;
$password=”;
$dbh=newPDO($dsn,$user,$password);
$dbh->setAttribute(PAD::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION);
PDOオブジェクトのインスタンス化
①SQLサーバに接続。
②SQLサーバのデータベースエンジンにSQL文で指令を出す。
③SQLサーバと接続を切断する
MySQLに文字コードを設定
MySQLのデータを抽出
繰り返しコードの省略文
requestファンクション
SQLは、DB(データベース)サーバ、もしくはデータベースを操作するコマンドの事を指す。
通常は、
これらのSQLのコマンドをPHP文と絡める事で、SQLと連携したプログラムを構築することが出来る。
いちいち手動でSQL文を打ち込み操作しなくてもいい。
HTML、PHPで作成したWeb画面を通して入力されたデータがその都度、DBに保存(追加)されり、必要なデータをデータベースから呼び出しWeb画面に表示させたり等の操作が実現できる。
Webページに画像表示
<form method=”post” action=”◯◯.php”enctype=”multipart/form-data”
コメント