Webコミュニケーショングループ ~PHPの基礎~ M1 宮崎 真.

Slides:



Advertisements
Similar presentations
情報アプリケーション1 2006 年 10 月 12 日 第四回資料 担当 重定 如彦. 目次 データの送信とフォーム クイズ CGI 複数のパーツのデータの分割方法 配列変数.
Advertisements

1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。
コーパス言語学実践 2006 年度 2 学期 第 9 回. 2 本日の内容 これまでと同様の作業 – プログラムで処理するケースの紹介.
情報基礎A 情報科学研究科 徳山 豪.
インターネット技術特論 D:SSI,PHP,eRuby 山口 実靖
第3回参考文献発表 PHP言語 岩永逸平.
情報理工学部 情報システム工学科 3年 H 井奈波 和也
PHP 文法 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
プログラミング言語としてのR 情報知能学科 白井 英俊.
情報アプリケーション1 2008年 11月 19日 第二回資料 担当 重定 如彦 .
IDLTM/IONTMを使用した UDON (Universe via Darts ON-line) プロトタイプの作成
PHPエディタによる 情報システム演習 01.
計算技術研究会 C言語講座 第3回 Loops (for文 while文).
Servlet入門(2) 入力フォームをつかったWebアプリ
PHP 概要 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
JavaServlet&JSP入門 01K0018 中村太一.
情報理工学部 情報システム工学科 4年 H 亀窪祐太 H 纐纈琢真
第4回 個人の動画配信補足のためのWeb構築
オペレーティングシステムⅡ 第3回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/10/16.
PHP 実用的なサンプル 浅川 和久 2017/3/18 PHP 実用的なサンプル.
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
§3.3 プログラミング 第10回 今日の目標 高級言語のプログラムを実行するまでの過程を示せる インタープリタの仕組みを説明できる
Bottle/Pythonによる Webアプリ入門
PHP プログラムの実行 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
4-3.基本的なPHPスクリプト 2004年6月24日(木) 大北高広 01T6010F.
Webコミュニケーショングループ ~CGI勉強会~ (データーベース編)
ビューとコントローラ.
HTTPプロトコルとJSP (1) データベース論 第3回.
Webを利用した授業支援システムの開発 北海道工業大学 電気電子工学科 H 渋谷 俊彦.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
情報アプリケーション1 2008年 12月 3日 第四回資料 担当 重定 如彦 .
PHP 概要 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
HTTPプロトコル J2EE I 第7回 /
Day3 Day4 Day3 Day4.
基礎プログラミング演習 第7回 繰り返し.
Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java
データベース設計 第9回 Webインタフェースの作成(1)
情報アプリケーション1 2006年 10月 5日 第三回資料 担当 重定 如彦 .
第8章 Web技術とセキュリティ   岡本 好未.
HTTPとHTML 技術領域専攻 3回 中川 晃.
§3.3 プログラミング 第10回 今日の目標 高級言語のプログラムを実行するまでの過程を示せる インタープリタの仕組みを説明できる
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
図書館職員のための アプリケーション開発講習会
制作技術ー4 アクセスカウンタ等付加機能 PHP と Javascript
プログラミング論 II 2008年10月30日 文字列
アルゴリズムとプログラミング (Algorithms and Programming)
制作技術ー3 双方向通信 : CGIシステムと環境変数
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
情報アプリケーション1 2006年 10月 19日 第四回資料 担当 重定 如彦 .
プログラムの制御構造 配列・繰り返し.
JavaScript プログラミング演習 - じゃんけんゲーム - 「ホームページを動的に制御したい…」
PHP 概要 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
統計ソフトウエアRの基礎.
基礎プログラミング演習 第6回.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
基礎プログラミング演習 第3回.
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
ウェブデザイン演習 第6回.
第14回放送授業.
第2回 Webサーバ.
コンパイラ 2012年10月11日
プログラミング 4 文字列.
例題のプログラムを通して JavaScriptの仕組みを理解することとします。
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

Webコミュニケーショングループ ~PHPの基礎~ M1 宮崎 真

PHPとは PHP(PHP Hypertext Preprocesser) 動的ページ生成 オープンソース サーバサイドスクリプト言語 『ポストCGI』と呼ばれている

サーバーサイドの言語 CGIだけで無く様々な言語が存在 CGI(Perl) JSP/サーブレット ASP(ASP.NET) PHP Zope(Python) Ruby Cold Fusion CGIだけで無く様々な言語が存在

PHPの特徴 ①埋め込み型言語 ・静的なHTMLに“<?php~?>”コードを埋める ・HTMLの親和性が高い ・直感的なコーディング      ~プログラム~ ?> プログラムソース

PHPの特徴 ②スクリプト言語 ・インタープリタ(逐次翻訳)形式のスクリプト言語 ・パフォーマンス的に高い(コンパイル語比較) ・Zend Engineの採用(PHP4以降)

PHPの特徴 ③Perlとの類似性 ④豊富な関数群 ・一つのクローズドな言語体系 ・言語仕様がCやPerlと類似 ・オブジェクト指向対応 (ポストCGIといわれる所以) ・配列関数カテゴリのみで60種類以上 ・簡単にロジックを組み立てることが可能

PHPの導入 ・PHPを実行するのに必要なもの ・導入方法は以下を参照 ・Apache(Webサービス) http://mikilab.doshisha.ac.jp/dia/research/report/2005/0813/006/report2005/0813006.html

PHPを書こう 1.テキストディタを起動(メモ帳,秀丸・・・etc) 2.以下のソースを記述 <?php print(“Hello World”); ?> 3.ファイル名「[自分の名前].php」で保存 4.「test.php」を 「\\miyazaki\webcomi\」にコピー 5.ブラウザで「http://172.20.11.89/[].php」アクセス

実行画面

HTMLにPHPを埋め込む ① ② <?php print(“Hello World”); ?> print “Hello World”; <B> <?php  print(“Hello World”); ?> </B> ②

HTMLにPHPを埋め込む ① ②

変数を使う ・特にデータ型を指定する必要が無い <?php $data1 = “Hello”; $data2 = 7; print($data1.”<BR>”.$data.”<BR>”); print($data2); ?>

配列を使う ・配列に代入・・・「月~木」がweek[0]~[3]へ格納 同じ意味 $week[] = “月”;$week[] = “火”;

連想配列(ハッシュ)を使う ・番号の変わりにキー(文字列)を付けて格納 $member[“name”] = “HIROYASU”; 変数名 代入する値 Example) $member[“name”] = “HIROYASU”; print($member[“name”]);

連想配列(ハッシュ)を使う ・array()を用いたデータ格納 ・多次元配列も利用可能 $data = array( “family_name” => “HIROYASU”, “first_name” => “TOMOYUKI”, “job” => “Teacher” ) ・多次元配列も利用可能

主な演算子 ・算術演算子「+,-,*,/,%」 ・比較演算子「==,!=,<,>」など ・加算子,減算子「++,--」 $answer = 5+1; //$answer に6が格納される ・比較演算子「==,!=,<,>」など 比較演算子で説明 ・加算子,減算子「++,--」 $counter++;    //$counterに1が足される

条件分岐を使う ・if(条件式){処理内容} ・if(条件式){処理内容}else{} ・if(条件式){処理内容}elseif(条件式){} $username = “user”; If($user==“user”){ print(“You are Collect user”); } “TRUE”を返す

繰り返しを使う ・for(初期値;条件式;増減式){処理内容} ・while(条件式){処理内容} ・while(条件式): 処理内容・・・ for($i = 0;$i < 10; $i++){print(“Hello”);} ・while(条件式){処理内容} while($i < 10){ print(“Hello”); $i++; } ・while(条件式):  処理内容・・・  endwhile;

配列の一括処理 ・foreach($配列 as $変数){処理内容} 「$配列」のサイズ数だけ繰り返し, 「$変数」を一回ごとに返す. その時の「$キー」と「$変数」 を一回ごとに返す.

配列の一括処理の例 <?php $member=array(“name”=>”HIROYASU”, “job”=>”Teacher”); foreach($member as $key=>$value ){ print “$key :$value”; print “<BR>”;} ?>

その他使えるもの ・switch($判定用変数){ case “値1”: 処理1; break;   default: 処理3;  } ・break , continue などなど コーディングは,CやPerlに似ている

問題1 ・自己紹介をしてください 【項目】 ・苗字 ・名前 ・性別 ・期生 ・住所 【制約】 ・HTML形式で表示(わかりやすく)  【項目】 ・苗字 ・名前 ・性別 ・期生 ・住所  【制約】 ・HTML形式で表示(わかりやすく) ・連想配列と繰り返し処理を利用

問題1(解答例) <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp" /> </head> <?php $introduction = array("苗字"=>"宮崎","名前"=>"真", "性別"=>"男", "期生"=>"8","住所"=>"大阪府枚方市"); print("自己紹介をします<br>"); foreach($introduction as $key => $val){ print($key.":".$val."<br>"); } ?>

問題1(解答例) <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp" /> </head> <?php $introduction = array("苗字"=>"宮崎","名前"=>"真", "性別"=>"男", "期生"=>"8","住所"=>"大阪府枚方市"); print("自己紹介をします<br>"); foreach($introduction as $key => $val){ print($key.":".$val."<br>"); } ?>

サーバークライアント処理 ① リクエスト ② クライアント ③ HTML サーバー 入力された値を元に, サーバ側で処理をする

フォームを使う 1.名前を入力 2.ボタンを押す 3.view.phpを呼び出し <FORM name=“form1” method=“post” action=“view.php”> 名前:<BR> <INPUT type=“text” name=“onamae”> <BR> <INPUT type=“submit” value=“送 信”> </FORM>

送信データを取り出す ・$_POST[キー]で送信されたデータを抽出 view.php データ送信 <?php print $_POST[“onamae].”さん、こんにちは!”; ?> データ送信

問題2 ・ユーザ認証ページを作って下さい 【項目】 ・ユーザ名前 ・パスワード 【制約】 ・form1.htmlを利用  【項目】 ・ユーザ名前 ・パスワード  【制約】 ・form1.htmlを利用 ・ユーザ名前とパスワードのデータは  phpファイル上で記述してよい

問題3(応用問題) ・今日は自分が生まれてから何日目?? 【制約】 ・form1.htmlを利用 ・今日の日付は指定入力してよい ・自分の誕生日を入力(例)1981-9-8 ・$返り値=explode(“-” , $文字列) 文字列を“-”区切りで配列変換 ・結果は数字で答える