PHPデータベース基本i5php.jp/wp-content/uploads/2015/03/text1.pdf · PHPに標準バンドルされているライブラリ データベースの種類に依存しない設計
コネクト株式会社 - i5php.jp · 用語解説:PHP (PHP: Hypertext Preprocessor )...
Transcript of コネクト株式会社 - i5php.jp · 用語解説:PHP (PHP: Hypertext Preprocessor )...
PHP入門
コネクト株式会社
# 2
アジェンダ
� Webの基礎知識
� 開発環境
� PHPに触れてみよう
� PHPの基本
�変数と型
�演算子
�制御構造と関数
� データのやりとり
� オブジェクト指向
�基礎知識
�抽象クラス
�インターフェイス
� 例外
� データベース
�基礎知識
�SQL
�PDO
� セキュリティ
Webの基礎知識
これからPHPを学ぶ前に、まずはWebについて復習しましょう。
# 4
Webの基礎知識
�Webの仕組み
�クライアントサーバモデルに基づくシステム
・ ウェブブラウザにURLが入力される(もしくは外部リンクがクリックされる)
・ DNSによってURLがIPアドレスに変換され、URIのスキーム に従い接続される
(主にHTTPで接続)
・ ページを構成するファイルが要求元に送られる
・ 受信側(クライアント)は受け取ったファイルにしたがってページを生成し表示を行う
クライアント サーバ
送信
受信
受信
送信
要求
応答
HTTP
# 5
Webの基礎知識
� Webアプリケーションとは?
�ウェブの機能や特徴を利用したアプリケーション
�PHPやRubyといったWebサーバ上で動作するスクリプト言語を利用して開発することが多い
�動的にコンテンツを生成
�サーバ~クライアント間をHTTPで通信
具体的には
ブログ、SNS、掲示板、オンラインショップ
WIKI、オークション etc・・・
# 6
Webの基礎知識
� 用語解説:HTML
(HyperText Markup Language )� ウェブ上のドキュメントを記述するための
マークアップ言語
� 他のドキュメントへのハイパーリンクを設定できるハイパーテキストで画像・リスト・表などの高度な表現力を持つ
� W3Cによる標準規格であるが、最近では後継規格であるXHTMLへの置き換えが進められている
# 7
Webの基礎知識
� 用語解説:PHP
(PHP: Hypertext Preprocessor )� 動的にHTMLデータを生成することが可能
→サーバ~クライアント間でデータの受け渡しを行う
� Apache、IISなどWebサーバ上で動作する
� フレームワークやライブラリが多数存在
� CGI、FastCGI、サーバのモジュールとして動作可能
� イスラエルのZend Technologies社が
コアエンジンを開発
# 8
Webの基礎知識
�PHPはスクリプト言語である
�インタプリタ方式�実行する度にオペコード(機械語)に変換
�コンパイル処理が不要�Zend Engineが自動的にコンパイル
�スクリプトをサーバに配置するだけ�Try & Errorが容易
プログラムを作成/変更してから実行するまでの手間がなく
開発者にとって利便性が高い
# 9
Webの基礎知識
�用語解説:CGI
�Common Gateway Interfaceの略
�サーバプログラムと外部プログラムとの連携法の取り決め
�様々な言語に対応�PHP/Perl/Java/Python/Ruby/C etc…
※mod_php、mod_perl、Java ServletはCGIとは
仕組みが違う。
# 10
Webの基礎知識
�用語解説:HTTP�HyperText Transfer Protocolの略
�Webサーバとクライアントとの間で通信を行う際に用いるプロトコル
�HTML・XMLで記述されたハイパーテクストの転送が主な目的だが、画像・動画など、様々なデータの転送に用いられる
�状態保持の為の機構であるCookieを使用可能
# 11
Webの基礎知識
�用語解説:HTTPS�HTTP + “Secure”
�暗号化する事でセキュア(安全)な状態にする
�SSL (Secure Socket Layer)で暗号化
�サーバの認証と通信の暗号化により安全性を確保
�復元のための解析に膨大な時間を要するため、事実上は解析しても徒労に終わる
# 12
クライアントサイドスクリプト
�クライアント側動的コンテンツの仕組み
�Java ScriptなどWebブラウザで動作するスクリプト
・ ページ全体は、WebサーバよりWebブラウザに送られる。
・ Java Scriptで記述された部分が操作に応じて動作する
・ 一部のデータをサーバ側にデータを要求するときはajaxで通信を行う。
・ Webページ全体を遷移する場合には、通常のhttpリクエストを送る
Webブラウザ
Java Script
サーバ
送信 受信
要求
応答
ajax
# 13
モバイルアプリ
�モバイルの仕組み
�ネイティブアプリとWebサーバの連携
・ ネイティブアプリは、クライアント(スマホ/タブレット)にダウンロードされている。
・ ネイティブアプリが、Webサーバからデータを取り出す際には、httpdリクエストを
送信する。
・ ネイティブアプリは、サーバからのレスポンスを受け取り処理を行う。
ネイティブアプリ サーバ
送信
受信
受信
送信
要求
応答
HTTP
PHPに触れてみよう
PHPに慣れ親しむためにも、まずは学習の前に実際にPHPを触ってみましょう。
誰でも簡単にプログラミングできる言語だという事を肌で感じて下さい。
# 15
PHPに触れてみよう
� 次のスクリプトを実行してみましょう
�Zend Studioのローカルデバッグ機能を使って試してみましょう
� [F5]キーで編集中のスクリプトを実行できます
<?PHP
phpinfo();?>
# 16
PHPに触れてみよう
� このような画面になりましたか?
�アウトプット領域上の[HTML]タブをクリックすると、HTMLタグ表示から切り替わります
# 17
PHPに触れてみよう
� 次のスクリプトを実行してみましょう
<?PHP
print "こんにちは、世界!";?>
# 18
PHPに触れてみよう
� このような画面になりましたか?
�結果が表示されましたか?
# 19
PHPに触れてみよう
�まずはプログラムを動かしてみよう!
�プログラムを実行し、結果を見ることが学習の近道です
�全ての機能を憶える必要はありません
�Zend Studioで手軽にPHPを楽しもう!
�デバッグ機能など一般的なエディタにはない便利な機能が充実しています
�ネット環境が無い状態でも学習出来ます
�Let’s enjoy PHP programming!
PHPの基本
PHPを記述する上で、基本となるルール、文法を学習します
# 21
PHPの基本
基本ルール
� 基本ルール�「 <?php 」と「 ?> 」で囲われたブロックがPHP
スクリプトとして認識される
�HTMLファイルの中に埋め込む形でも記述可能
�ファイル保存時に拡張子は 「.php 」とする
<html>
<head><title>step1</title></head><body>
<?php//(ここにPHPのコードを記述します)
print ”hello world ! ”;
?>
</body>
</html>
# 22
� コメントの書式
�「//」の後に記述する<?php
//ここにコメントを記述
print ”//この場合は・・・”;
?>
�複数行の場合は「/* ~ */」で囲う<?php
/* 途中で改行を入れても・・・
OK!
*/
?>
PHPの基本
基本ルール
# 23
� 演習
�以下のコードを入力し、Zend Studioで実行してみましょう
PHPの基本
基本ルール
<html>
<title>step2</title>
<body>
<table border="1">
<tr>
<?php
print "<td>1+1</td>";
?>
<td>
=
</td>
<td>
<?php print(1+1); ?>
</td>
</tr>
</table>
</body>
</html>
# 24
PHPの基本
変数と型
� 変数とは�イメージは・・・
なんでも入れられる便利な「箱」
�実際は・・・
変数を宣言することにより、PCのメモリ上に「値」を保持しするための領域を作る
変数数値
文字列配列
オブジェクト
画像
# 25
PHPの基本
変数と型
� 変数の使いかた�「$」ではじめる
�使える文字は英数字、アンダースコアのみ
�頭に数字は使えない
例:
$var ・・・・OK
$var_01 ・・・・OK
$1_var ・・・・NG
# 26
PHPの基本
変数と型
� 型の種類�文字列 (string)
�整数 (int)
�浮動小数点 (float)
�論理型 (boolean)
�配列型 (array)
�オブジェクト型 (object)
�リソース型 (resource)
�ヌル型 (null)
※ PHPは型を意識しなくても記述できる言語ですが
型の概念を知っておくことはとても重要です
# 27
PHPの基本
変数と型
�文字列型(string)
�文字の集合体を表現する変数
�0文字以上の文字列を格納
$zend = 'zend is PHP company';
$php = 'PHP is ¥'scripting language¥' ';
$name = 'my name is ¥¥zeev suraski¥¥';
�シングルクォートによる記述
�エスケープできるのは引用符と「¥」マークのみ
# 28
PHPの基本
変数と型
$a = "a¥n¥tb¥n¥t¥tc";
$b = "$a¥nd";
�ダブルクォートによる記述
� エスケープシーケンスが利用可能
� 変数が有効になる
�ヒアドキュメントによる記述
� 「<<<EOD」~「EOD」までの間を文字列として認識
$str = <<<EOD
これが
ヒアドキュメント
です
EOD;
\n 改行
\r 復行
\t 水平タブ
\\ 円マーク
\$ ドル記号
\" 二重引用符
エスケープシークエンス一覧
# 29
PHPの基本
変数と型
�整数型(int)
�32ビット符号付き整数を表現する変数代入可能な値: -2147483648~2147483647
$a = 100;// 10進数
$a = 0765;// 8進数・・・0を付けると8進数として扱われる
$a = 0xff;// 16進数・・・0xを付けると16進数として扱われる
$a = 2147483647; //+1して下記実行結果の変化を見る
var_dump($a);
# 30
PHPの基本
変数と型
�浮動小数点型(float)
�次のケースで使用する
�整数の上限以上の値
�小数点以下の値を扱う時
$a = 1.2;
$a = 1.2e3;// 1.2 x 1000
$a = 1.2e-3;// 1.2 x 0.001
# 31
PHPの基本
変数と型
� 配列型(array)�配列とは・・・
�複数の値を持つことが出来る変数
�値にユニークなインデックスを付けることができる
�イメージとしては・・・
配列
このようなスプレッドシートのデータ構造をそのまま格納することができる
# 32
PHPの基本
変数と型
�実際に値を格納してみましょう
$gv9[] = '柴田';
$gv9[] = '土井';
$gv9[] = '王';
$gv9[] = '長嶋';
$gv9[] = '末次';
$gv9[] = '高田';
$gv9[] = '黒江';
$gv9[] = '森';
$gv9[] = '高橋';
print_r($gv9);
変数名[] = 値 変数名 = array(値1,値2,・・・)
$gv9 = array('柴田' ,'土井' ,'王',
'長嶋','末次','高田','黒江','森','高橋');
print_r($gv9);
# 33
PHPの基本
変数と型
�連想配列
�「キー」に文字列を指定したもの
$gv9['中'] = '柴田';
$gv9['二'] = '土井';
$gv9['一'] = '王';
$gv9['三'] = '長嶋';
$gv9['右'] = '末次';
$gv9['左'] = '高田';
$gv9['遊'] = '黒江';
$gv9['捕'] = '森';
$gv9['投'] = '高橋';
print_r($gv9);
変数名[キー] = 値 変数名 = array(キー =>値1,・・)
$gv9 = array(
'中' => '柴田', '二' => '土井', '一' => '王',
'三' => '長嶋', '右' => '末次', '左' => '高田',
'遊' => '黒江', '捕' => '森', '投' => '高橋'
);
print_r($gv9);
# 34
PHPの基本
変数と型
�論理型(boolean)
�真偽を表現する型
�TRUE: 真
�FALSE: 偽
�比較演算子の結果は全て論理型$a = true;
print $a . "¥n";
var_dump($a);
$a = false;
print $a . "¥n";
var_dump($a);
# 35
PHPの基本
変数と型
�オブジェクト型(object)
�クラスのインスタンス(実態)�クラス�オブジェクトの設計図
�クラスで定義したメソッドを使える�メソッド�クラスに紐付いた関数
�メンバ変数を持てる
�メンバ変数�オブジェクトの中に格納されている変数
# 36
PHPの基本
変数と型
�リソース型(resource)
�外部リソース(情報資源)への参照を保持する特殊な変数
�他の型からの変換は不可能
�ファイル/ディレクトリ
�データベース(接続, ステートメント, etc…)
�グラフィック(GD, ImageMagik, etc…)
$fp = fopen("test.txt", "r");
var_dump($fp);
fclose($fp);
# 37
PHPの基本
変数と型
�ヌル型(Null)
�値が何も無いことを示す特殊な変数
�以下の場合にNullと見なされる
�「Null」が代入されている場合(下記サンプル参照)
�値が何も無い場合
�変数が存在しない場合
�unset()関数で変数が破棄されている場合
$var = null;
var_dump($var);
# 38
PHPの基本
演算子
�演算子
�演算子の種類
�代数演算子
�代入演算子
�比較演算子
�加算子/減算子
�文字列演算子
# 39
PHPの基本
演算子
� 算術演算子
�数値を足したり引いたりするための演算子
�優先順位も含め算数と全く同じ
例 説明 詳細
-$a 負にする $aの符号を反転したもの
$a + $b 加算 $aと$bの和
$a - $b 減算 $aと$bの差
$a * $b 乗算 $aおよび$bの積
$a / $b 除算 $aおよび$bの商
$a % $b 乗余 $aを$bで割った余り
# 40
PHPの基本
演算子
� 算術演算子
�演習:変数に値を代入し、計算してみましょう
�値、演算子を変更して演算結果を確認しましょう
$a = 1;
$b = 2;
print ($a - $b);
# 41
PHPの基本
演算子
� 代入演算子
� 変数に値若しくは演算結果を代入する演算子
例 説明
$a = 3; $aに3を代入
$a += 5; $aに5を加算
$b="Hello"; $bに文字列を代入
$a = 10;
$a += 2;
print ($a);
# 42
PHPの基本
演算子
� 比較演算子
�2つの値を比較する演算子。演算結果はboolean。
例 説明 詳細
$a == $b 等しい
$a === $b 等しい 型比較も行う
$a != $b 等しくない
$a <> $b 等しくない ($a!=$bを推奨)
$a !== $b 等しくない 型比較も行う
$a = 1;
$b = 2;
var_dump($a===$b);
# 43
PHPの基本
演算子
� 比較演算子(続き)
�2つの値を比較する演算子。演算結果はboolean。
例 説明
$a < $b より少ない
$a > $b より多い
$a <= $b より少ないか等しい
$a >= $b より多いか等しい
$a = 1;
$b = 1;
var_dump($a<=$b);
# 44
PHPの基本
演算子
� 加算子・減算子
�値を+1または-1する演算子。
例 説明 詳細
++$a 前置加算子
参照前に$aを+1
$a++ 後置加算子
参照後に$aを+1
--$a 前置減算子
参照前に$aを-1
$a-- 後置減算子
参照後に$aを-1
<?php
$a = $b = 1;
print ++$a;
print "¥n";
print $a;
print "¥n";
print $b++;
print "¥n";
print $b;
print "¥n";
?>
# 45
PHPの基本
演算子
� 文字列演算子
�文字列同士を結合する演算子。
例 説明 詳細
$b = $a . ",There!"; 結合演算子 「.」 によって文字列を結合する
$b .= "There!"; 結合代入演算子 左辺の値に文字列を結合する
$a = "Hello";
$b = $a . ",There!";
print $b;
# 46
PHPの基本
演算子
� 論理演算子
�複数の条件式を論理的に結合する演算子です
例 説明 詳細
&& 論理積 双方がTRUEの場合にTRUEを返す
|| ( or ) 論理和 いずれかがTRUEの場合にTRUEを返す
xor 排他的論理和 いずれかがTRUEでかつ双方ともTRUEでない場合にTRUEを返す
! 否定 式がFALSEである場合にTRUEを返す
$a = true;
$b = false;
var_dump($a xor $b);
# 47
PHPの基本
定数
define("HOSTNAME", "ZEND1");
define("HOSTNAME", "ZEND2");
print (HOSTNAME);
� 定数�不変の値を保持する
�再定義はできない
�使える文字は英数字、アンダースコアのみ
�スコープ(後述)規則がない
�配列は格納できない
# 48
PHPの基本
定数
� マジック定数�自動的に定義される定数
�使われ方によって値は変化する
名前 説明
__LINE__ 実行中の行番号
__FILE__ 実行中ファイルのフルパスとファイル名
__FUNCTION__ 関数名
__CLASS__ クラス名
__METHOD__ クラスのメソッド名
# 49
PHPの基本
制御構造と関数
�制御構造とは…
�プログラムの流れを制御するもの
�制御構造の種類�順次構造
�上から順に処理を行う構造
�選択構造�式の結果に応じて処理を分岐する構造
�反復構造�式の結果に応じて処理を繰り返す構造
# 50
PHPの基本
制御構造と関数� if
�条件に一致した際(TRUEの場合)、処理を実行します
$a = 1;
if( $a == 1 ){
print '$aには1が代入されています';
}
if ( 条件式 ) {処理
}
# 51
PHPの基本
制御構造と関数� else
�条件に一致しない場合(FALSE)、処理2を実行します
$a = 1;
if( $a >= 10 ){
print '$aは10以上です';
}else{
print '$aは9以下です';
}
if ( 条件式 ) {処理1
} else {
処理2
}
# 52
PHPの基本
制御構造と関数� elseif
�条件式1に一致せず(FALSE)、且つ条件式2に一致した場合(TRUE)、処理2を実行します
$a = false;
$b = true;
if($a){
print "Hello";
}elseif($b){
print "bye";
}
if ( 条件式1) {処理1
} elseif( 条件式2){
処理2
}
# 53
PHPの基本
制御構造と関数
� while
�条件式の結果が(TRUE)のとき、処理を繰り返します
$i = 1;
while( $i <= 10 ){
echo $i++ . "¥n";
}
while( 条件式 ) {処理
}
# 54
PHPの基本
制御構造と関数� do…while
�条件式の結果が真(TRUE)のとき、処理を繰り返します
�処理を実行した後で条件式を評価します
$i = 0;
do{
print ++$i . "¥n";
}
while( $i <= 10 );
do{
処理
while( 条件式 )
# 55
PHPの基本
制御構造と関数� for
�開始時の処理を無条件で実行します
�条件式の結果が(true)の時、処理を実行します
�実行後の処理を行い、条件式の結果が(false)になるまでループ処理を継続します
for( $i=1; $i<=10; $i++ ){
echo $i . "¥n";
}
for( 開始時の処理; 条件式; 実行後の処理 ){
処理
}
# 56
PHPの基本
制御構造と関数
� foreach
�配列要素に対する反復構造
�配列の要素が$value(任意の名称)に代入されていきます
�二種類の構文があります
$a = array("php", "perl", "java");
foreach($a as $val){
print $val . "¥n";
}
foreach ( 配列 as $value){
処理
}
# 57
PHPの基本
制御構造と関数
� foreach (構文)
�連想配列をループ処理する際、非常に有効です
�要素のキーが $key に代入されます
$os = array(
"opensource" => "linux", "ms" => "windows",
"apple" => "osx"
);
foreach( $os as $key => $val ){
print $key. "::" .$val."¥n";
}
foreach ( 配列 as $key => $value){
処理
}
# 58
PHPの基本
制御構造と関数
� break
�その時点で反復構造(while, do-while, for, foreach )とswitch(後述)構造を抜けます
for($i = 1; $i < 50; $i++){
if($i == 25){
break;
}
print $i . "¥n";
}
# 59
PHPの基本
制御構造と関数
� continue
�反復構造の残りの処理をスキップし、次の処理を実行します
$i = 0;
while($i < 10){
$i++;
if($i == 5){
continue;
}
print "$i" . "¥n";
}
# 60
PHPの基本
制御構造と関数� switch
�一つの変数を複数の値と比較し、それぞれ異なる処理を行わせる制御構造
$a = 1;
switch( $a ){
case 0:
print 'very good';
break;
case 1:
print 'good';
break;
case 2:
print 'not bad';
break;
default:
print '...';
}
switch ( 条件式 ) {case a :
処理 a
break;
case b :
処理 b
break;
default :
処理
}
# 61
PHPの基本
制御構造と関数
� return
�スクリプトの実行を中止します
print "a¥n";
print "b¥n";
return;
print "c¥n";
# 62
PHPの基本
制御構造と関数
� include・require
�PHPスクリプトを読み込みます
// foo.phpが無いとwarningになります
include "foo.php";
// bar.phpが無いとFATAL ERRORになります
require "bar.php";
# 63
PHPの基本
制御構造と関数
� include_once・require_once
�1度だけPHPスクリプトを読み込みます
�2度目に実行しても再度読み込みは行いません
// foo.phpが無いとwarningになります
Include_once "foo.php";
// bar.phpが無いとFATAL ERRORになります
require_once "bar.php";
# 64
PHPの基本
制御構造と関数
�関数とは…
�処理を一まとめにしたもの
�2種類の関数が存在する
�ビルトイン関数
PHPにデフォルトで組み込まれている定義済みの関数
�ユーザ定義関数
ユーザ自身が定義する関数
# 65
PHPの基本
制御構造と関数
� ビルトイン関数
�DB接続や文字列操作など多種にわたる関数が存在
�例
�文字列操作�strcmp, strstr, strcat, strlen, etc…
�DB操作�pg_connect, mysql_query, db2_prepare, etc…
�1000以上存在します
http://php.benscom.com/manual/ja/indexes.php#index.functions
# 66
PHPの基本
制御構造と関数� ユーザ定義関数
� 「function」命令を使用して定義を行う
� 関数名の命名規則は変数と同じ
� 引数とは
�関数に渡す値 ⇒ 処理を行ってほしい対象
� 戻り値とは
�関数で処理を行った結果を自動的に返したもの
function 関数名 (引数) {
処理(戻り値)
}
# 67
PHPの基本
制御構造と関数
� ユーザ定義関数
�まずは簡単な関数を定義してみましょう
�定義した関数を実行してみましょう
function foo(){
print 'こんにちは';
}
foo();
# 68
PHPの基本
制御構造と関数
� ユーザ定義関数
�引数と戻り値のある関数を定義してみましょう
�定義した関数を実行してみましょう
function sale($teika){
$urine = $teika * 0.7;
return $urine;
}
print "3割引!!¥t". sale(1500) . "円";
# 69
PHPの基本
制御構造と関数
� スコープ( 変数の有効範囲 )�関数内にある変数 � ローカル変数
�関数外にある変数 � グローバル変数
�2種類の変数は全く別の世界に存在する
$a = 1;
function hoge(){
$a;
print ($a + 1);
}
hoge();
ローカル変数の有効なエリア
グローバル変数の有効なエリア
# 70
PHPの基本
制御構造と関数
� スコープ( 変数の有効範囲 )
�グローバル宣言することで、ローカル変数をグローバル変数として扱うことが可能
$a = 1;
function hoge(){
global $a;
print ($a + 1);
}
hoge();
データのやりとり
サーバ-クライアント間のデータのやり取りの手順を簡単なプログラムを作成しながら学びます。
# 72
データのやりとり
� 入力フォーム
�WebアプリケーションではHTMLのフォームによるデータのやりとりが非常に多く見られます
クライアント側 サーバ側
apache
PHP
① ブラウザの入力フォームに入力された値はHTTPプロトコルによってサーバに送信される。
② サーバ側では値をPHPにより受け取り、ロジカルな処理を行う。
③ PHPスクリプトの実行結果がクライアントに送られ、ユーザのブラウザ表示に反映される。
①
③
②
# 73
データのやりとり
<html>
<body>
<form action="post.php" method="post">
<table border = "1">
<tr>
<td>名前</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="送信"></td>
</tr>
</form>
</table>
</body>
</html>
� 実際にプログラムを作ってみましょう
�まず簡単な入力フォームを作成します( .htmlで保存 )
# 74
データのやりとり
� データを受け取り、処理を行う
� htmlの <form>タグのmethod属性を「post」で指定した場合、PHPではスーパーグローバル変数(詳細は後述) $_POST で受け取ることが出来る
� フォームで送信した値は<input>タグのname属性で指定した名称をキーとした$_POSTの連想配列に格納される
� PHPスクリプトを作成し、実際にアウトプットを表示してみましょう
<?php
$name = $_POST['name'];
print "名前を受け取りました" . "<br />" . "$name";
?>
# 75
データのやりとり
� スーパーグローバル変数
�PHPスクリプトにアクセスした時点で自動的に定義される変数
�関数内であってもアクセス可能
�値は連想配列として格納される
�$_POSTもスーパーグローバル変数のひとつ
# 76
データのやりとり
� $_POST�フォームからHTTP POST(HTTPのリクエス
ト)で送信された値が格納されます
<input type="text” name="hoge" > $_POST['hoge']
HTMLフォーム
ブラウザ 送信ボタンを押すとサーバにデータが
送信され、$_POSTに連想配列として
格納される
# 77
データのやりとり
� $_GET�フォームからHTTP GET(HTTPのリクエスト)
で送信された値が格納されます
<input type="text” name="hoge" >
$_GET['hoge']
HTMLフォーム
ブラウザ送信ボタンを押すとURLに「クエリ」という
形でデータを付け加えて送信される
$_POST同様に連想配列として格納される
ブラウザのアドレスバー
クエリ
# 78
データのやりとり
� スーパーグローバル変数一覧
変数名 説明
$_GET HTTP GETによりクエリ情報「?キー名=値」として渡された情報
$_POST HTTP POSTによりHTMLフォームから渡された情報
$_COOKIE HTTP Cookieによりスクリプトに入力された情報
$_REQUEST $_GET,$_POST,$COOKIE,$_FILESの値をまとめて管理
$_FILE アップロードされたファイルに関する情報
$_SESSION スクリプトのセッションに現在登録されている変数
$_SERVER Webサーバーや実行環境に関係する情報を格納した変数
$_ENV 環境変数に関しての情報