Taro13-007linux5.jtdc



Similar documents
Taro php.jtdc

Microsoft Word - サンプル _データベースアクセス_.doc

研究者情報データベース

技術報告会原稿フォーマット

<4D F736F F D2090C389AA8CA72D92F18F6F2D D F ED28CFC82AF91808DEC837D836A B E838B A815B816A2E646F6378>

4.5. < 参 加 表 明 書 を 提 出 する> 調 達 案 件 一 覧 の 表 示 対 象 となる 案 件 を 検 索 し 調 達 案 件 一 覧 に 表 示 させます 参 加 したい 案 件 の 調 達 案 件 名 称 行 - 入 札 参 加 資 格 確 認 申 請 / 技 術 資 料 /

C.1 共 有 フォルダ 接 続 操 作 の 概 要 アクセスが 許 可 されている 研 究 データ 交 換 システムの 個 人 用 共 有 フォルダまたは メーリングリストの 共 有 フォルダに 接 続 して フォルダを 作 成 したり ファイル をアップロードまたはダウンロードしたりすることがで

3. 画 面 説 明 1 アドレスバー/Google 検 索 バー 4 ステータスバー 1 アドレスバー/Google 検 索 バー 現 在 表 示 されているホームページの URL 1 (ホームページアドレス)を 表 示 します URL を 入 力 すると 目 的 のページに 移 動 することがで

第1章 情報処理センターの利用

2. データを 検 索 する なごやコレクションのデータを 検 索 するための 方 法 として キーワード 検 索 詳 細 検 索 の 二 通 りの 検 索 方 法 が あります 2.1. キーワードから 探 す キーワードを 入 力 する トップページの 入 力 ボックスに 検 索

ご 利 用 の 前 に 手 順 初 回 ご 利 用 時 に 必 ずご 確 認 ください ご 利 用 の 前 に (ご 利 用 環 境 の 確 認 ) P アクセス 方 法 (IMAGE WORKSサイトへアクセス) P 初 期 設 定 (JREのインストール) P

1.2. ご 利 用 環 境 推 奨 ブラウザ Internet Explorer Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ

スライド 1

機 能 概 要 概 要 平 成 24 年 度 シームレスな 地 域 連 携 医 療 の 実 現 実 証 事 業 に 対 応 するため 地 域 連 携 システム( 能 登 北 部 版 )を 構 築 する 機 能 < 機 能 追 加 変 更 一 覧 > 1. 画 像 連 携 機 能 院 内 で 撮 影

研究者総覧システム

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

別冊資料-11

<4D F736F F D20819B93FC97CD CC91808DEC95FB FC92F994C5816A>

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

文書管理

_責)Wordトレ2-1章_斉

Microsoft Word - 03accessデータベース演習レジメ.doc

設定フロー ★印は必須の設定です

V-CUBE One

PowerPoint プレゼンテーション

<4D F736F F F696E74202D E738E7B8DF48C9F8DF D836A B208F8994C52E B8CDD8AB B83685D>

Microsoft Word - 生物学技研報告ONLINE ガイドブック.doc

180404

Meet-Me Number/Pattern の 設定

Microsoft Word - Active.doc

サーバサイドスクリプトPHPを実感しよう

「給与・年金の方」からの確定申告書作成編


<4D F736F F D F B B838082F090DD927582B782E995FB96405F E646F6378>

スライド 0

(3) 下 記 画 面 が 表 示 されます 参 照 ボタンを 押 下 すると 図 5.1-4フォルダ 指 定 画 面 が 表 示 されるので 保 存 先 を 指 定 し OKボタン を 押 下 します 展 開 ボタンを 押 下 します 図 ファイルの 展 開 先 ( 保 存 場 所 )

WebAlertクイックマニュアル

サイボウズ Office 8 ファイル管理マニュアル

目 次 1. ログイン/ログアウト 1.1 ログインする p ログアウトする p.3 2. 受 講 一 覧 画 面 p.4 3. 授 業 ページの 閲 覧 3.1 授 業 ページへの 遷 移 p 授 業 資 料 を IT s class.からダウンロードする p

(Microsoft Word - Excel\211\236\227p2\217\315.docx)

あいち電子調達共同システム

地域ポータルサイト「こむねっと ひろしま」

請 求 データを 作 成 しましょう 操 作 手 順 1 トップページ 画 面 で [ 口 座 振 替 請 求 ]をクリックして 口 座 振 替 請 求 サービスのメインメニュー 画 面 を 表 示 し [ 請 求 データ 作 成 ]をクリックします 請 求 データは 最 大 10 個 作 成 する

2007 Microsoft Corporation. All rights reserved. 本 書 に 記 載 した 情 報 は 本 書 各 項 目 に 関 する 発 行 日 現 在 の Microsoft の 見 解 を 表 明 するものです Microsoft は 絶 えず 変 化 する

ログイン ブラウザから TDPOST へアクセス ログイン GC-(お 客 様 名 )フォルダを 選 択 各 作 業 へ ブラウザを 起 動 します (Internet Explorer Safari Firefox など) 下 記 アドレスをブラウザのアドレス 入 力 欄 に 入 力 します ht

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順 アドレス 帳 の 操 作 手 順 フォルダーの 操 作 手 順 メール 発 信 者 登 録 署 名 登 録 手 順 基 本 的 な 設 定

<4D F736F F D A838C D836A B5F E646F63>

Microsoft Word - 不正アクセス行為の禁止等に関する法律等に基づく公安

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

ez_meishi.ppt

PATENTBOY/Netバージョンアップ説明書(Ver.1.92)

目 次 機 能 運 用 上 の 注 意 処 理 手 順 画 面 説 明 ログイン 直 送 先 選 択

Microsoft PowerPoint - webサイト更新マニュアル ppt [互換モード]

■デザイン

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

スライド 1

Taro13-006linux4.jtdc

内 容 1. はじめに メールのログイン 初 めてのログイン メールの 受 信 / 送 信 メールの 受 信 メールの 作 成 と 送 信 メールの 新 規 作 成 メー

(Microsoft Word - Word\211\236\227p8\217\315.docx)

付 録 B Wiki を 閲 覧 編 集 する B.1 Wiki を 閲 覧 する Web ブラウザのアドレス 欄 に 公 開 されている 個 人 用 Wiki の URL またはメーリ ングリストの Wiki の URL を 入 力 すると その Wiki を 閲 覧 編 集 することができ ます

Microsoft PowerPoint - 04_H26material_practice_No3-3.pptx

 

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について EXCEL 一 括 登 録 EXCEL ダウンロード 検 索 条 件 の 指 定 プレビュー EXCEL ダウンロード(データ 抽 出 あ

Microsoft Word - 311Tools_END

■コンテンツ

目 次 1 概 要 動 作 環 境 起 動 方 法 臨 床 研 修 プログラム 検 索 サイトで 提 供 している 情 報 情 報 閲 覧 の 流 れ 画 面 構 成 メニューについて 可 変 メニ

プロキシサーバー 概 要 プロキシサーバーは 頻 繁 にアクセスされる Web ページの 内 容 をキャッシュ することで ネットワークトラフィックを 削 減 し エンドユーザーに 対 するレスポ ンスの 高 速 化 を 行 います Internet Explorer などのブラウザでもデータをキャ

4. 発 注 者 コード 及 び 成 績 評 定 8 (Q4-1) 該 当 の 発 注 者 コードが 付 与 されていないので 追 加 してください... 8 (Q4-2) 発 注 者 コードが 不 正 確 空 白 のものがあり 点 数 を 入 力 できません 成 績 評 定 の 入 力 ができませ

WebMail ユーザーズガイド

Vol.7

目 次 遺 失 物 管 理 プログラム 利 用 者 マニュアル 1. 動 作 条 件 遺 失 物 管 理 プログラムのインストール 運 用 の 流 れ 起 動 方 法 操 作 方 法 について 基 本 的 な 操

01_07_01 データのインポート_エクスポート_1

振込データの作成

Microsoft Word - TechSmith Deployment Tool Documentation.docx

Microsoft Word - 資料5-1_資料掲載_ver docx

~ 目 次 ~ 1. 履 修 登 録 のながれ 1 2. 利 用 可 能 な 機 能 について 2 3.Web 履 修 登 録 画 面 へのログイン ログアウト 方 法 3 4. 予 備 登 録 ( 定 員 設 定 科 目 の 履 修 ) (1) 予 備 登 録 5 (2) 予 備 登 録 状 況

6 システムを 入 れているパソコンを 入 れ 替 えたいが どうしたらいいのか 元 のパソコンから 新 しいパソコンに 昨 年 度 入 力 データを 移 行 します 手 順 は 次 のとおりです 1 元 のパソコンでシステムを 起 動 して メニュー 画 面 から バックアップ リカバリ を 選

年齢別人数計算ツールマニュアル

PowerPoint プレゼンテーション

BizDataBank とは インターネット 上 (クラウド)に 大 切 なデータを 保 存 することが 出 来 る 便 利 なアプリケーション (オンラインストレージ)です 本 資 料 について BizDataBank サービスは マイナーバージョンアップ 等 もあるため 実 際 のクライアントと

目 次 ログイン 方 法... 3 基 本 画 面 構 成... 4 メールサービス... 5 メールサービス 画 面 構 成... 5 アカウント 詳 細 / 設 定... 6 高 機 能 フィルター... 7 ユーザーフィルター 設 定... 8 新 規 フィルターの 追 加... 8 My ホ

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修

Microsoft Word - 操作手順書.doc

共済会_Kねっと利用マニュアル.indd

迷惑メールフィルタリングコントロールパネル利用者マニュアル

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ

目 次 1 インストール 手 順 プログラム データファイルのインストール Microsoft Access2013Runtime SP1(32bit) 版 のインストール 基 本 操 作 ログイン メニュー...

<82C582F182B382A2322E3594C5837D836A B2E786C73>

<IE の 設 定 について> 従 来 版 をすでにご 利 用 の 方 の 場 合 互 換 表 示 設 定 がある 状 態 になっていると 思 わ れますので 必 ず 解 除 の 設 定 を 行 ってください 従 来 版 では IE の 10 以 上 では 互 換 表 示 設 定 が 必 要 でした

- INDEX - 1 ご 利 用 時 間 1 2 メニュー 1 3 ご 利 用 になる 前 に 行 っていただきたいこと 3 (1) 所 在 地 沿 線 設 定 3 (2) 会 員 情 報 の 管 理 ( 自 社 情 報 の 設 定 ) 5 4 物 件 情 報 の 登 録 8 (1) 操 作 概

前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) rev: 商 標 類 Windows Office Excel

Microsoft Word - 第3章.doc

スライド 1

データベースS 演習資料

PowerPoint Presentation

4) 下 記 項 目 を 入 力 して Add ボタンをクリックします 名 前 Browse ボタンをクリックすると 認 識 可 能 なプリンタが 表 示 されますので 選 択 して 指 定 します クラス どのクラスの 出 力 結 果 をプリンタへ 送 るのか 指 定 します 説 明 任 意 に

2.3 本学でよく使う基本ツール

スライド 1

Transcription:

2-5 Webサーバを 利 用 したデータベースアクセス 1 目 的 PHPと 呼 ばれるスクリプト 言 語 を 利 用 し,PostgreSQLのデータベースをWeb 上 で 操 作 し,デー タベースに 追 加, 削 除, 変 更 等 を 行 い,Webサーバを 利 用 したデータベースアクセスの 基 礎 的 な 知 識 や 技 術 を 習 得 する 2 使 用 機 器 及 びソフトウェア WindowsXPのクライアントパソコン PostgreSQL PHP Linux(Fedora Core3)のサーバパソコン 3 関 連 知 識 Webサーバを 利 用 したデータベースアクセスをするためには, 通 常, 二 つの 手 法 がある (1) Webサーバ 側 での 実 現 方 法 1 CGI(Common Gateway Interface) Webサーバの 設 定 によって,HTMLに 記 述 されたプログラムをサーバ 側 で 実 行 し, 実 行 結 果 をブラウザに 送 信 する 方 法 である 実 行 するプログラムは, 通 常,Perl,C 言 語 またはUNIX シェルスクリプトなどが 使 われる 2 スクリプト 言 語 (ミドルウェア 方 式 ) Webページに,Webサーバが 解 釈 可 能 なスクリプトを 埋 め 込 む 形 でHTMLを 統 合 化 する 方 法 で ある PHP(Hypertext Preprocessor) はWebサーバで 実 行 され, 結 果 のHTMLファイルのみ をクライアントへ 送 信 する JSP(Java Server Pages ) も 同 様 の 機 能 を 持 っている また, Webサーバで 実 行 するので, 動 作 結 果 がブラウザの 種 類 やバージョンに 依 存 しない (2) ブラウザ 側 での 実 現 方 法 1 JavaScript Netscape 社 が 同 社 のNavigatorのために 開 発 したブラウザ 側 のスクリプト 言 語 である 次 に 述 べるJavaと 一 緒 に 解 説 されることが 多 いが,Java Appletを 作 成 する 言 語 とは 異 な る 仕 様 である JavaScriptは, 簡 単 な 画 面 制 御 に 向 いている 言 語 である 2 Java Sun Microsystems 社 の 提 唱 によるオブジェクト 指 向 言 語 である ブラウザが 動 作 している プラットホーム(UNIXか,Windowsか,Macかということ )に 依 存 しないプログラム 実 行 環 境 の 実 現 が 可 能 となる 言 語 である Webサーバが 利 用 できるのは,HTML 形 式 で 記 述 されたテキストであり,ブラウザから 送 信 される 利 用 者 の 回 答 に 応 じて 処 理 の 流 れを 変 えることは, 一 般 には 不 可 能 である また,Webサーバは, 利 用 者 の 要 求 に 応 じてデータベースにアクセスする 方 法 も 持 ち 合 わせていない こうした 処 理 を 可 能 にするのが,スクリプト 言 語 のPHPである 例 えば, 図 1の 不 動 産 のページについて 考 えると,1 万 件 の 物 件 があったとすると, 個 々 -1-

の 物 件 紹 介 ページをHTMLで 作 成 すると1 万 ページ 必 要 になる PHPなどのスクリプトをHTML に 組 み 込 むと,データベースから 動 的 に 物 件 紹 介 ページを 生 成 することができるので,デー タベースと1ページ 分 のスクリプトで 済 む 作 成 するときの 手 間 だけでなく, 変 更 があった ときの 手 間 も 考 えると,データ 数 が 多 ければ 多 いほど 動 的 に 作 成 されるページは 威 力 を 発 揮 する 図 1 HTMLとPHPの 違 い HTMLの 場 合 PHPの 場 合 物 件 データベース 10000.html 1000.html view.php?id=10000 データ 分 の ページ 数 データベースと スクリプト1ページ PHPは, HTML 中 にスクリプトとして 直 接 記 述 できるため, データベースのアクセスに 関 して, PostgreSQLを 利 用 するための 関 数 が 用 意 されており,Webページから 簡 単 にPostgreSQLのデー タベースに 接 続 することができる WebサーバとDBサーバの 連 携 を 利 用 したWebページ 閲 覧 の 概 要 を 図 2に 示 す 図 2 WebサーバとDBサーバの 連 携 を 利 用 したWebページの 閲 覧 -2-

Webサーバの 設 定 ファイルを 編 集 し,スクリプト 機 能 を 構 築 する Webサーバへの PHPス クリプト 機 能 の 構 築 手 順 を 図 3に 示 す 図 3 Webサーバへの PHPスクリプト 機 能 の 構 築 手 順 (1) データベース 管 理 者 の 登 録 (2) 設 定 ファイルの 編 集 (httpd.conf) (3) Apacheの 再 起 動 と 動 作 確 認 (4) PHPスクリプトの 作 成 (5) クライアント(WindowsXP)からの 確 認 -3-

4 実 習 例 題 PHPスクリプトを 使 い,データベース testdb のテーブル table1 を 取 り 込 み,1 ぺージに5 件 のデータ 表 示 させるWebサーバを 構 築 する さらに,データを 追 加 できるWeb サーバを 構 築 する クライアント(WindowsKP)のブラウザからそれぞれのWebサーバのURL epc**.cen.hic.ac.jp/5kenzutu.php ( 図 4), epc**.cen.hic.ac.jp/tuika.php ( 図 5) を 入 力 し, 確 認 する 図 4 epc**.cen.hic.ac.jp/5kenzutu.php 図 5 epc**.cen.hic.ac.jp/tuika.php (1) データベース 管 理 者 の 登 録 1 ユーザ nobody の 登 録 データベース 管 理 者 としてユーザ nobody を 登 録 する (ユーザ postgres は,イン ストール 時 に 登 録 されている ) 空 いている 画 面 で 右 クリックし,[ 端 末 を 開 く]を 選 択 する 次 のように 入 力 し,それぞれ Enter キーを 押 す ユーザIDを postgres に 変 更 する データベース 管 理 者 nobody を 登 録 する ユーザIDを root に 戻 す ( Ctrl キーと D キーを 同 時 に 押 す ) [root@epc** root]# su postgres ユーザIDを postgres に 変 更 する データベース 管 理 者 bash-3.00$ createuser Enter name of user to add: nobody nobody を 登 録 する Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) n CREATE USER bash-3.00$ [Ctrl]+[D] ユーザIDを root [root@epc** root]# に 戻 す 2 ディレクトリの 作 成 端 末 ]に 次 のように 入 力 し,それぞれ Enter キーを 押 す -4-

[root@epc** root]# cd /home/wwwadmin [root@epc** wwwadmin]# mkdir www (2) 設 定 ファイルの 編 集 (httpd.conf) 設 定 ファイル(フォルダ /etc/httpd/conf のファイル httpd.conf を 編 集 する 1 ファイル httpd.conf のバックアップ(httpd.conf.orig2) 端 末 ]に 次 のように 入 力 し,それぞれ Enter キーを 押 す [root@epc** root]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.orig2 2 geditの 起 動 図 6 編 集 画 面 アプリケーション]から[アクセサ リ ], [GNOMEテキスト エディタ]をク リックする 3 ファイルの 表 示 図 6の[ファイル]より[ 開 く]を 選 択 する ファイルシステム]をダブルクリッ クする フォルダ 名 /etc/httpd/conf,フ ァイル 名 httpd.conf を 選 択 し,ダ ブルクリックする 検 索 ]より[ 検 索 ]を 選 択 する 4 httpd.conf ファイルの 編 集 次 のように httpd.conf ファイルを 編 集 する ( # はコメント 文 である ) サーバ 管 理 者 のメールアドレス(wwwadmin@epc**.cen.hic.ac.jp)を 設 定 する ( 検 索 する 文 字 列 に ServerAdmin を 入 力 し,[ 検 索 ]ボタンを3 回 クリックする ) データベース 管 理 者 のユーザ,グループを 設 定 する ( 検 索 する 文 字 列 に user apache を 入 力 し,[ 検 索 ]ボタンをクリックする ) Webサーバのホスト 名 (epc**.cen.hic.ac.jp)を 設 定 する ( 検 索 する 文 字 列 に ServerAdmin を 入 力 し,[ 検 索 ]ボタン3 回 クリックする ) DocumentRoot(/home/wwwadmin/www)を 設 定 する ( 検 索 する 文 字 列 に DocumentRoot を 入 力 し,[ 検 索 ]ボタンを2 回 クリックする ) UserDirを 確 認 する ( 検 索 する 文 字 列 に UserDir を 入 力 し,[ 検 索 ]ボタンを7 回 クリックする ) DirectoryIndexを 設 定 する ( 検 索 する 文 字 列 に DirectoryIndex を 入 力 し,[ 検 索 ] ボタンを2 回 クリックする ) 指 定 したディレクトリのインデックスファイルを 指 定 及 び 追 加 できる directoryを 設 定 する -5-

( 検 索 する 文 字 列 に Directory を 入 力 し,[ 検 索 ]ボタンを10 回 クリックする ) 使 用 するdirectoryの 設 定 を 記 述 する ここではドキュメントルートディレクトリと 同 じにする PHPファイルの 認 識 を 設 定 する ( 検 索 する 文 字 列 に addtype を 入 力 し,[ 検 索 ]ボタンを2 回 クリックする ) Apacheが,ファイルをPHPのスクリプトとして 解 釈 するように 設 定 されているので, PHPスクリプトを 含 むファイルの 拡 張 子 は.php か.phps にする ## ## httpd.conf -- Apache HTTP server configuration file ~ ~ ~ サーバ 管 理 者 のメールアドレスを 設 定 #ServerAdmin root@localhost する ( serveradmin で 検 索 3 回 目 ) ServerAdmin wwwadmin@epc**.cen.hic.ac.jp ~ ~ ~ User nobody ユーザ,グループを 設 定 する Group nobody ( user apache で 検 索 1 回 目 ) ~ ~ Webサーバのホスト 名 を 設 定 する ServerName epc**.cen.hic.ac.jp ( servername で 検 索 3 回 目 ) ~ ~ ~ # DocumentRootを 設 定 する DocumentRoot "/home/wwwadmin/www" ( documentroot で 検 索 2 回 目 ) ~ ~ ~ <IfModuule mod_userdir.c> # UserDir public_html UserDir www UserDirを 確 認 する ( userdir で 検 索 7 回 目 ) </IfModuule> ~ ~ ~ <IfModuule mod_dir.c> DirectoryIndex index.html index.php </IfModuule> ~ ~ ~ < Directory "/home/wwwadmin/www" > ~ ~ ~ # # AddType application/x-tar.tgz AddType application/x-httpd-php.php AddType application/x-httpd-php-source.phps DirectoryIndexを 設 定 する ( directoryindex で 検 索 2 回 目 ) directoryを 設 定 する ( directory で 検 索 10 回 目 ) PHPファイルの 認 識 を 設 定 する ( addtype で 検 索 2 回 目 ) 5 httpd.conf ファイルの 保 存 保 存 ]ボタンをクリックする -6-

(3) Apacheの 再 起 動 と 動 作 確 認 図 7 サービスの 再 起 動 1 サービス(Apache)の 再 起 動 (postgresqlも 再 起 動 しておく ) アプリケーション] より[ サーバ 設 定 ], [サービス]を 選 択 する 図 7の httpd にチェックを 入 れ,[ 停 止 ]をクリックし,[ 再 起 動 ]をクリ ックする 2 index.php の 作 成 geditの[ファイル]より[ 新 規 ]を 選 択 する 次 のように 入 力 する <html> <? echo phpinfo();?> </html> geditの[ファイル]より[ 保 存 ]を 選 択 する ファイル 名 index.php を 入 力 する 他 のフォルダの 参 照 ]を 選 択 し, ファイルシステム,フォルダ(フォルダ 名 /home/ wwwadmin/www )を 順 にダブルクリックし,[ 保 存 ]ボタンをクリックする 3 ブラウザからの 動 作 確 認 図 8 http://epc**.cen.hic.ac.jp/index.php ブラウザ(Mozilla Firefox)を 表 示 さ せる (ブラウザが 起 動 していない 場 合 は, ランチャの[Webブラウザ]をクリック する ) URL http://epc**.cen.hic.ac.jp/ index.php を 入 力 し, Enter キーを 押 す ( 図 8) (4) データベースの 使 用 権 限 の 設 定 データベース testdb は, 作 成 者 wwwadmin だけが 使 用 権 限 を 持 つ 一 方,apacheの 実 行 者 は,Webサーバに 対 するセキュリティ 上 の 理 由 でnobodyに 限 定 されている SQLコマンド grant を 使 用 して, 利 用 者 nobody がデータベース testdb のテーブ -7-

ル table1 を 利 用 できるように 権 限 を 設 定 する なお, 権 限 は select, insert, update, delete の 各 項 目 ごとに 設 定 が 可 能 であるが,ここでは 便 宜 上, all に 設 定 しnobodyに 対 してすべての 権 限 を 付 与 する 1 利 用 者 の 設 定 次 のように 入 力 し,それぞれ Enter キーを 押 す [root@epc** root]# su wwwadmin [wwwadmin@epc** root]$ psql testdb testdb=> grant all on table1 to nobody; GRAMT testdb=> \z Access privileges for database "testdb" Schema Table Access privileges ----------+--------+------------------------------------------------------------ public table1 {wwwadmin=a*r*w*d*r*x*t*/wwwadmin,nobody=arwdrxt/wwwadmin (1 row) testdb=> \q 2 パーミションの 変 更 デスクトップの[コンピュータ]をダブルクリックする ファイルシステム]をダブルクリックする 図 9 パーミションの 変 更 フォルダ home, wwwadmin, www を 順 にダブ ルクリックする ファイル index.php を 右 クリックし,[プロパ ティ]を 選 択 する 図 9のように[アクセス 権 ]タブを 選 択 する 所 有 者, グループ, その 他 の 図 9のよう にチェックを 入 れる (パーミッション 755 ) ファイルの 所 有 者,ファイルのグループをそれぞれ wwwadmin に 設 定 する また, 上 位 のフォルダも 同 様 にパーミッションを 755 に 変 更 する (5) PHPスクリプトの 作 成 とクライアントからの 確 認 テーブル table1 のデータをすべて 表 示 するPHPスクリプトを 作 成 する 1 ファイル ichiran.php の 作 成 geditの[ファイル]より[ 新 規 ]を 選 択 する 端 末 ]に 次 のように 入 力 し,それぞれ Enter キーを 押 す <html> <head> <title> 会 員 データ 一 覧 を 表 示 する</title> -8-

</head> <body> <h3> 会 員 データ 一 覧 を 表 示 する</h3> <? 1 $conn=pg_connect("","","","","testdb"); if (!$conn) { echo " 接 続 エラーが 発 生 しました\ n"; exit; 2 3 // データを 取 り 出 す $result = pg_exec($conn,"select id,nam,pre,ag from table1"); if (!$result) { echo "エラーが 発 生 しました\n"; exit; 4 // 取 り 出 したデータを 表 示 echo "<table border=\"20\">"; 5 echo "<tr>"; 6 echo "<td> 会 員 番 号 </td>"; 7 echo "<td> 氏 名 </td>"; echo "<td> 住 所 </td>"; echo "<td> 年 令 </td>"; 7 echo "</tr>"; 6 for ($i = 0; $i < pg_numrows($result); $i++) { 8 $row = pg_fetch_array($result, $i, PGSQL_ASSOC); 9 echo "<tr>"; echo "<td>"; echo pg_result($result,$i,"id"); 10 echo "<td>"; echo pg_result($result,$i,"nam"); echo "<td>"; echo pg_result($result,$i,"pre"); echo "<td>"; echo pg_result($result,$i,"ag"); echo "</tr>"; echo "</table>"; // 接 続 解 除 pg_close($conn); 11?> 1 </body> </html> 各 PHPスクリプトの 意 味 は, 次 のとおりである 1 及 び1 スクリプトの 開 始 と 終 了 を 示 す Apacheは <? と?> の 間 をPHPスクリ プトとして 解 釈 する 2 データベースtestdbに 接 続 して,コネクションIDを 変 数 $connに 返 す 3 データベースと 正 しく 接 続 できたかどうかをチェックする 4 接 続 したデータベースに 対 してSQLコマンドを 実 行 して, 結 果 を 配 列 変 数 $resultに -9-

格 納 する 5 表 示 するテーブルの 表 を 作 成 する 線 の 太 さは,20 6 及 び6 <tr>で 挟 んだ 項 目 名 を 表 示 する 7 教 示 する 項 目 は,<td>で 囲 む 8 $i=0 から,データベースの 行 数 まで 繰 り 返 す $i=pg_numrows($result)で 行 数 を 取 得 する 9 $i 行 目 を 配 列 として$rowに 取 得 する 10 $i 行 目 のidを 表 示 する 11 データベースとの 接 続 を 切 断 する geditの[ファイル]より[ 保 存 ]を 選 択 する ファイル 名 index.php を 入 力 する 他 のフォルダの 参 照 ]を 選 択 し, ファイルシステム,フォルダ(フォルダ 名 /home/ wwwadmin/www )を 順 にダブルクリックし,[ 保 存 ]ボタンをクリックする ブラウザを 起 動 し,URL http://epc**.cen.hic.ac.jp/ichiran.php を 入 力 し, Enter キーを 押 す ( 図 10) 図 10 2 ファイル 5kenzutu.php の 作 成 テーブル table1 のデータから1ぺージに5 件 のデータ 表 示 PHPスクリプトを 作 成 する geditの[ファイル]より[ 新 規 ]を 選 択 する 端 末 ]に 次 のように 入 力 し,それぞれ Enter キーを 押 す <html> <head> <title> 会 員 を5 件 ずつ 表 示 する</title> </head> <body> <h3> 会 員 を5 件 ずつ 表 示 する</h3> <?php // 接 続 設 定 $conn=pg_connect("","","","","testdb"); if (!$conn) { echo " 接 続 エラーが 発 生 しました\n"; 1-10-

exit; // データ 数 を 取 得 $sql = "SELECT COUNT(*) AS cnt FROM table1;"; 2 $res = pg_query($conn, $sql) or die("データ 抽 出 エラー"); 3 $row = pg_fetch_array($res, 0, PGSQL_ASSOC); 4 $dtcnt = $row["cnt"]; 5 // 取 り 出 す 最 大 レコード 数 $lim = 5; 6 // 表 示 するページ 位 置 を 取 得 $p = intval(@$_get["p"]); 7 if ($p < 1) { 8 $p = 1; // 表 示 するデータの 位 置 を 取 得 $st = ($p - 1) * $lim; 9 // 前 のページ/ 次 のページのページ 番 号 を 取 得 $prev = $p - 1; if ($prev < 1) { $prev = 1; $next = $p + 1; 10 11 // データを 取 り 出 す $sql = "SELECT id, nam, pre, ag FROM table1 ORDER BY id LIMIT $lim OFFSET $st;"; $res = pg_query($conn, $sql) or die("データ 抽 出 エラー"); 12 13 // 取 り 出 したデータを 表 示 echo "<table border=\"20\">"; echo "<tr>"; echo "<td> 会 員 番 号 </td>"; echo "<td> 氏 名 </td>"; echo "<td> 住 所 </td>"; echo "<td> 年 令 </td>"; echo "</tr>"; for ($i = 0; $i < pg_numrows($res); $i++) { $row = pg_fetch_array($res, $i, PGSQL_ASSOC); echo "<tr>"; echo "<td>"; echo pg_result($res,$i,"id"); echo "<td>"; echo pg_result($res,$i,"nam"); echo "<td>"; echo pg_result($res,$i,"pre"); echo "<td>"; echo pg_result($res,$i,"ag"); echo "</tr>"; echo "</table>"; -11-

// 前 のページ/ 次 のページへリンク if ($p > 1) { echo " <a href=\""."?p=$prev\"> 前 のページ</a>"; if (($next - 1) * $lim < $dtcnt) { echo " <a href=\""."?p=$next\"> 次 のページ</a>"; 14 15 16 17 // 接 続 を 解 除 pg_close($conn);?> </body> </html> 各 PHPスクリプトの 意 味 は, 次 のとおりである 1 データベースとの 接 続 2 SELECT 文 を$SQLに 格 納 する 3 pg_queryを 実 行 し,table1のデータを 抽 出 し,$res に 格 納 する 4 データの1 行 目 を 配 列 で 抽 出 し,$row に 格 納 する 5 データのレコード 数 をカウントし,$dtcnt に 格 納 する 6 ブラウザに 表 示 する 最 大 レコード 数 設 定 する 7 @$_GET["p"]で 現 在 のページ 番 号 を 取 得 し,intvalで 整 数 化 する 8 1 未 満 の 時 は$pを1とする 9 次 のページを 表 示 するとき, 前 のページをカウントしないように, 開 始 位 置 を 決 め る 10 前 のページに 戻 るときの 変 数 を 決 める 11 次 のページに 進 むときの 変 数 を 決 める 12 id,nam,pre,ag をidの 順 番 に 並 べて 取 得 するSELECT 文 13 最 大 5 人 で 開 始 位 置 を$st とする 14 もし,$pが1より 大 きかったときには{ を 実 行 する 15 前 のページ をクリックした 時, 前 ページにリンクし, URLにページ 数 を 追 加 する 16 もし,レコード 数 が 最 後 まで 表 示 されてなかったときは 17 次 のページ をクリックした 時, 次 ページにリンクし, URLにページ 数 を 追 加 する geditの[ファイル]より[ 保 存 ]を 選 択 する ファイル 名 5kenzutu.php を 入 力 する 他 のフォルダの 参 照 ]を 選 択 し, ファイルシステム,フォルダ(フォルダ 名 /home/ wwwadmin/www )を 順 にダブルクリックし,[ 保 存 ]ボタンをクリックする ブラウザにURL http://epc**.cen.hic.ac.jp/5kenzutu.php を 入 力 し, Enter キーを 押 す -12-

図 11 3 ファイル tuika.php の 作 成 テーブル table1 にデータを 追 加 するPHPスクリプトを 作 成 する geditの[ファイル]より[ 新 規 ]を 選 択 する 端 末 ]に 次 のように 入 力 し,それぞれ Enter キーを 押 す <html> <head> <title> 新 規 データを 追 加 する</title> </head> <body> <h3> 新 規 データを 追 加 する</h3> <?php // データベースに 接 続 $conn=pg_connect("","","","","testdb"); if (!$conn) { echo " 接 続 エラーが 発 生 しました\n"; exit; // 追 加 するデータを 取 得 if (count($_post) > 0) { $id = $_POST["id"]; $nam = $_POST["nam"]; $pre = $_POST["pre"]; $ag = $_POST["ag"]; 1 2 // データが 送 信 されたときはデータを 追 加 if (strlen($id) and strlen($nam) and strlen($pre) and strlen($ag)) { // データ 追 加 3 $sql="insert into table1 (id,nam,pre,ag) values ('".$id."','".$nam."','".$pre." ','".$ag."')"; 4-13-

pg_query($conn, $sql) or die("データ 追 加 エラー"); 5 // データを 取 り 出 す $sql = "SELECT id, nam, pre, ag FROM table1 ORDER BY id"; $res = pg_query($conn, $sql) or die("データ 抽 出 エラー"); 6 7 // 取 り 出 したデータを 表 示 echo "<table border=\"20\">"; echo "<tr>"; echo "<td> 会 員 番 号 </td>"; echo "<td> 氏 名 </td>"; echo "<td> 住 所 </td>"; echo "<td> 年 令 </td>"; echo "</tr>"; for ($i = 0; $i < pg_numrows($res); $i++) { $row = pg_fetch_array($res, $i, PGSQL_ASSOC); echo "<tr>"; echo "<td>"; echo pg_result($res,$i,"id"); echo "<td>"; echo pg_result($res,$i,"nam"); echo "<td>"; echo pg_result($res,$i,"pre"); echo "<td>"; echo pg_result($res,$i,"ag"); echo "</tr>"; echo "<form method=\"post\" action=\"".$_server["php_self"]."\">"; echo "<tr>"; echo "<td><input type=\"text\" name=\"id\"></td>"; echo "<td><input type=\"text\" name=\"nam\"></td>"; echo "<td><input type=\"text\" name=\"pre\"></td>"; echo "<td><input type=\"text\" name=\"ag\"></td>"; echo "<td><input type=\"submit\" value=\" 追 加 \" name=\"sub1\"></td>"; echo "</tr>"; echo "</form>"; echo "</table>"; 8 9 10 11 // 接 続 を 解 除 pg_close($conn);?> </body> </html> 各 PHPスクリプトの 意 味 は, 次 のとおりである 1 ブラウザに 表 示 されている 文 字 を 取 得 する 方 法 には,POST がある 取 得 した 文 字 をカウントし,0より 大 きければ2へ 進 む 2 ブラウザのフォームに 入 力 したid をPOSTにより 取 得 し,$idへ 格 納 する 3 $id $nam $pre $ag の 文 字 数 を 調 べて, 確 認 されれば4へ 進 む 4 データベースtable1にデータを 追 加 する -14-

5 実 行 6 SELECT で table1 をid 順 に 並 べる 7 実 行 8 追 加 項 目 に 文 字 を 表 示 するためには,form methodで 入 力 文 字 を 取 得 し,actionで 同 じ 位 置 に 表 示 させる 9 id のinput type はtextタイプである 10 nam のinput type はtextタイプである 11 追 加 ボタンを 作 り,クリックするとsubmitタイプになっているので, 内 容 を 送 信 す る geditの[ファイル]より[ 保 存 ]を 選 択 する ファイル 名 tuika.php を 入 力 する 他 のフォルダの 参 照 ]を 選 択 し, ファイルシステム,フォルダ(フォルダ 名 /home/ wwwadmin/www )を 順 にダブルクリックし,[ 保 存 ]ボタンをクリックする ブラウザにURL http://epc**.cen.hic.ac.jp/tuika.php を 入 力 し, Enter キーを 押 す 図 12 (6) クライアント(WindowsXP)からの 確 認 ブラウザ(Internet Explorer)を 起 動 する URL http://epc**.cen.hic.ac.jp/ichiran.php を 入 力 し, Enter キーを 押 し, 確 認 する URL http://epc**.cen.hic.ac.jp/5kenzutu.php を 入 力 し, Enter キーを 押 し, 確 認 する URL http://epc**.cen.hic.ac.jp/tuika.php を 入 力 し, Enter キーを 押 し, 確 認 す る 演 習 PHPスクリプトを 使 い,データベース testdb のテーブル table1 を 取 り 込 み,1 ぺージに3 件 のデータ 表 示 させるWebサーバを 構 築 し,クライアント(WindowsXP)のブラウ ザからURL epc**.cen.hic.ac.jp/3kenzutu.php を 入 力 し, 確 認 する -15-