Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。

Similar presentations


Presentation on theme: "1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。"— Presentation transcript:

1 1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) http://okaweb.ec.kyushu-u.ac.jp/lectures/jk3/ 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。

2 2 前回のおさらい(1) PHP プログラムの処理形態 1.PHP 処理モジュールがインストールされている web サーバ上で, web サーバ経由で実行させる. 2.PHP がコマンドラインで実行できるようにインストー ルされているサーバ上で,コマンドラインから起動す る. PHP プログラムの入出力 – コマンドラインから実行される場合は簡単 ディスプレイ,キーボード,ファイル –web サーバから実行される場合は,単純ではない.

3 3 前回のおさらい(2) web サーバで実行される PHP プログラムの入出力 –HTTP の力を借りる. 入力は, HTTP リクエストから受け取る. 出力は, HTTP レスポンスに埋め込む. web サーバ PHP 処理 モジュー ル 実行中の PHP プログラ ム インター ネット クライアント HTTP レス ポン ス HTTP リク エス ト

4 4 前回のおさらい(3) クライアントへの間接的な出力 –HTML データに print( ) の出力が埋め込まれる. – ステータス行やメッセージヘッダが自動的に付加され る. PHP プログラム print( ) で出力すると, その内容が HTML データ に埋め込まれてクライア ントに返送される. PHP からの出 力を含む web ページ

5 5 前回のおさらい(4) クライアントからの間接的な入力 –HTML の ~ タグを用いる. –submit タイプのボタンがクリックされると,集めた 内容を HTTP で送信する. 利用者の 入力を処理 する PHP プログラム タグのあるページで 入力を集めて, PHP プログラムに送る. 利用者の入 力データを フォームに 含む web ページ

6 6 前回のおさらい(5) ~ タグ –method :ブラウザに入力されたデータをサーバに送信 するときの形式 ( GET または POST ) GET :データを URL の末尾に追加して送信する. POST :データを URL とは別に送信する. –action :集めたデータの送信先の URL 通常は, PHP プログラム( HTML 埋め込みも可)ま たは CGI プログラム...

7 7 前回のおさらい(6) 実際の入力部分は, タグで...

8 8 前回のおさらい(7) タグの例 – :送信ボタン – :1行の入力欄 他に –"radio" (ラジオボタン), "password" (パスワード形式の入 力欄), "checkbox" (チェックボックス), "file" (ファイ ルの送信欄), "hidden" (隠しデータ), – ~ (複数行の入力欄) – 選択肢の名前... (プルダウンメニュー)

9 9 前回の補足と訂正 複数選択の可能な "checkbox" タイプの入力欄 – タグの name 属性の値は,複数選択された場 合には PHP の配列に格納されるように, "q2[]" のよう な名前にしておくとよい. 質問 1 あなたの好きな果物は?(複数選択可) リンゴ バナナ キウイ

10 10 PHP と入出力(承前)

11 11 外部からのデータの受け取り方(1) 入力データを PHP プログラムへ送るのは ~ を使えばよいとして … 受け側の PHP プログラムでは, ~ タグ から送られてきたデータをどのようにして受け取ればよい か? HTML ファイ ル 受け側の PHP プログラム タグのあるページで 入力を集めて, PHP プログラムに送る. ? 入力された データ POST または GET

12 12 HTML ファイ ル 外部からのデータの受け取り方(2) PHP プログラムの外部から送り込まれるデータ – ~ タグで集める利用者入力データ以 外のものもある. PHP プログラムを実行している web サーバに関する 情報 PHP プログラム自身に関する情報(ファイル名な ど) 受け側の PHP プログラム 利用者が入力 したデータ サーバの 情報 プログラム 自身の情報 POST または GET

13 13 外部からのデータの受け取り方(3) web サーバ経由で起動された PHP プログラムには,外部か ら来るデータが自動的に格納される,定義済みの連想配列 がある. –$_SERVER[" 名前 "] –$_ENV[" 名前 "] –$_POST[" 名前 "] –$_GET[" 名前 "] PHP プログラムが web サーバ経由で起動されると,上記の 配列はすでにアクセス可能になっている. – 要素には値もセットされている.

14 14 $_SERVER[' 名前 '] と $_ENV[' 名前 '] $_SERVER[" 名前 "] – その PHP プログラムを実行している web サーバに関する 情報 たとえば: $_SERVER["HTTP_HOST"] :サーバのホスト名 $_SERVER["SERVER_ADDR"] :サーバの IP アドレ ス $_SERVER["HTTP_USER_AGENT"] :その PHP プ ログラムにアクセスしてきたクライアントがサーバ に対して名乗っているブラウザ名 $_ENV[" 名前 "] – その PHP プログラムが実行されるときの環境に関する 情報

15 15 これらの連想配列の内容を確認する方法 phpinfo( ) 関数を実行する – 第 4 回のスライドで紹介した.

16 16 $_POST[' 名前 '] その PHP プログラムに対して, POST メソッドで送り込ま れたデータ HTML ファイ ル 受け側の PHP プログラム タグのあるページで 入力を集めて, PHP プログラムに送る. POST 入力された データ $_POST[" 名前 "] 入力された データ

17 17 $_GET[' 名前 '] その PHP プログラムに対して, GET メソッドで送り込まれ たデータ HTML ファイ ル 受け側の PHP プログラム タグのあるページで 入力を集めて, PHP プログラムに送る. GET 入力された データ $_GET[" 名前 "] 入力された データ

18 18 連想配列 $_POST[ ] ( $_GET[ ] )のキー ( , )タグの中で指定 された name 属性の値が,これらの連想配列のキー(要素 を特定するための名前)になる. HTML ファイ ル 受け側の PHP プログラム POST $_POST["key1"] 入力データ

19 19 2 段以上の POST / GET タグで集めたデータを受け取った PHP プログラ ムが,さらに次の PHP プログラムにデータを伝えるため の タグを含むことがある. HTML ファイ ル 受け側の PHP プログラム POST/GET 受け側の PHP プログラム POST/GET さらにデータ を入力して, また送信ボタ ンを クリック データを入力 して,送信ボ タンをクリッ ク

20 20 POST/GET したデータの到達範囲 そのときの POST ( GET ) メソッドで送信されたデータが, 送信先の PHP プログラムの $_POST[ ] ( $_GET[ ] )連 想配列に入る. HTML ファイ ル 受け側の PHP プログラム 1 POST/GET 入力データ 1 入力データ 2 $_POST["key1"] ( $_GET["key1"] ) 受け側の PHP プログラム 2 POST/GET $_POST["key1"] ( $_GET["key1"] ) ここで送信されるデー タは, そのままでは,プログ ラム2には伝わらない.

21 21 入力されたデータを2段以上先まで伝える方法 いくつか方法はあるが,簡単なものは: –"hidden" タイプの タグで HTML ファイ ル 受け側の PHP プログラム 1 POST/GET 入力データ 1 入力データ 2 受け側の PHP プログラム 2 POST/GET $_POST["key1"] $_POST["key2"] ( $_GET["key1"] ) ( $_GET["key2"] ) $_POST["key1"] ( $_GET["key1"] ) 心情的には, こうしたい が,文法的 に ×

22 php プログラミング 基本的な文法を用いる。 – 分岐、ループ 配列を用いる。 文字列を扱う。 HTML から、入力したデータを渡してもらう。 HTML から、ファイルでデータを渡してもらう。 22


Download ppt "1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。"

Similar presentations


Ads by Google