PHP introduction
PHP の基本

計算機室の PC には大学から受領した ID, パスワードでログインする. ログインせよ.

出席調査

授業開始後すみやかに hiroshi@tokai.ac.jp 宛に 「件名」欄(Subject)に script programming MM/DD attendance (MM/DD には授業のあった月と日をそれぞれ 2 桁で記入せよ.例えば 4 月 18 日の授業であれば "script programming 04/18 attendance" となる.), 本文に自分の学生証番号と氏名を書いたメールを送信せよ. このメールを出席調査とする. 出席メールは必ず大学のアカウントから送信せよ. 出席のメールを出すときには 「Cc」欄を利用して自分宛のコピーを残すようにせよ.

web メール

講義のまえに

この講義専用のフォルダ

この授業で使用するファイルをまとめて保存するための専用のフォルダを作成する. デスクトップの「マイコンピュータ」「ネットワークの場所」にある自分の ネットワークフォルダ(Z ドライブ)開け. 「新しいフォルダ」ボタンを押して新しいフォルダを作成し, フォルダの名前を半角英字で「scriptp]とせよ. 以降,この授業で必要なファイルはこのフォルダに保存するようにせよ.

フォルダオプション

ファイルの拡張子が表示されない設定では 拡張子の設定ミスなどが起きやすいため設定を変更する. 最初に scriptp フォルダを開け.初期状態ではメニューバーが 表示されない設定になっている.左上の「整理」ボタンから 「レイアウト」,「メニューバー」と選択し,メニューバーを表示させる.(図 1.)

メニューバーの表示
図 1. メニューバーの表示

メニューバーの「ツール」メニューから「フォルダオプション」の順に選び,(図 2.) 「フォルダオプション」のダイアログを表示させよ.

フォルダオプション起動
図 2. フォルダオプションメニュー

このダイアログの「表示」タブを押し,「登録されている拡張子は表示しない」のチェックを外せ.(図 3.)

拡張子の設定
図 3. 拡張子の設定

テスト用 html

簡単な HTML 文書の例を挙げる.

例 1

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
    <title>
      文書の表題をここに書いてください.
    </title>
  </head>
  <body>
    <h1>
      文書の主見出しをここに書いてください.
    </h1>
    <p>
      自己紹介など,本文を自由に書いてください.
    </p>
    <hr>
    <address>
      XXXX年XX月XX日, XXXX作成
    </address>
  </body>
</html>

html の文法については HTML 文書の基本的な構造とルールについて等を参照せよ. 本授業では課題のソースコードの出力は HTML 4.01 の文法に従うものとする.

「スタート」メニューから「すべてのプログラム」,「アクセサリ」,「メモ帳」を起動せよ. 例 1 の html 文書をコピーし,開いたメモ帳にペーストせよ. そのままメモ帳で内容を適当に書き換えよ.作成者名は実名で記入しなくてもよい.

作成したファイルを「index.html」という名前で scriptp フォルダ直下に保存する. 「ファイル」メニューから「名前をつけて保存」で保存できるが,このとき 「ファイルの種類」欄の選択を「すべてのファイル」に変更しなければなない(図 3.) ので注意せよ. ファイル名を半角英字で「index.html」とし,「保存する場所」を scriptp フォルダに指定し「保存」を押して保存せよ.

メモ帳での保存
図 3. メモ帳での保存

WinSCP

計算機室の PC にログインしたのち,あらかじめメールにて連絡した ID, パスワードを使って 授業用サーバ sirius.yamamotolab.jt.u-tokai.ac.jp を使用する. sirius.yamamotolab.jt.u-tokai.ac.jp で使用するユーザ ID, パスワードは計算機室で使用するものとは独立である. sirius.yamamotolab.jt.u-tokai.ac.jp 用のユーザ ID, パスワード情報についてはこちらから連絡するので忘れないように 注意せよ.忘れた場合は直ちに教員に連絡せよ.

ファイル転送にはフリーの SCP クライアントソフトである WinSCP を利用する. 「スタート」メニューから「すべてのプログラム」,「WinSCP」 の順に選択し WinSCP を起動せよ.

WinSCP を起動すると「WinSCPログイン」ダイアログが表示されるので「新規」を選択する.

「セッション」の 「ホスト名」欄に「sirius.yamamotolab.jt.u-tokai.ac.jp」, 「ユーザ名」と「パスワード」欄にはメールで連絡した sirius.yamamotolab.jt.u-tokai.ac.jp 用の ユーザ名とパスワードを入力し,ログインボタンを押せ.初回の接続では 「サーバのホスト鍵が...」というホストの確認のダイアログが出るので「はい」を押せ.

WinSCPログインダイアログ
図 4. WinSCP のログインダイアログ

以上の操作でログインが行われる.

左半分がログインしているローカルPC上のファイルで, 右半分が sirius サーバ上のファイルである. ローカルPC のフォルダを scriptp に設定し,sirius サーバのディレクトリを /home/"ユーザID"/public_html に設定せよ.

ローカル PC 上(画面の半分)に作成した index.html ファイルが見えるはずである. これをドラッグ操作で右半分へ動かすとローカルPCからサーバへの ファイルのコピーが行なえる. WinSCP では同名のファイルが転送先にあったとき, 警告される.「上書き」を選ぶとファイルが置き換えられる. 今回の操作では sirius 上にもともとあった index.html ファイルは上書きする. 重要なファイルを消さないように十分注意せよ.アップロードとダウンロードの方向を 間違うと最新のファイルが消えてしまうことになる.

以上の手続きを正しく行うと sirius サーバ上(画面の右半分)に index.html が 表示されているはずである.sirius サーバは各ユーザのホームディレクトリ直下の public_html に置いた index.html ファイルが http://sirius.yamamotolab.jt.u-tokai.ac.jp/%7E<ユーザID>/index.html という URL で公開されるように設定されている.ブラウザからアクセスし,確認せよ. また,ローカル PC 上の index.html ファイルを書き換え,WinSCP で転送し,ブラウザを 再読み込みさせることで内容が変更に応じて変わることを確認せよ.

以降では

  1. ローカルPC上でメモ帳で(エディタは各自好みのものを使ってよい)html, php 文章を scriptp フォルダ以下に作成する
  2. WinSCP で sirius サーバの public_html ディレクトリ以下に転送する
  3. ブラウザで確認する

の繰り返しで演習を行う.

1 章 PHPについて

1.1 PHP とは

PHP には 3 つの基本的な使用法がある.

データベースと組み合わせた動的なコンテンツの作成に適している.

1.2, 1.3 省略

1.4 PHP の例

教科書 p.10 例 1-1 の php 文書をローカル PC の scriptp フォルダに hello_world.php という名前で作成せよ.

WinSCP を用いて hello_world.php ファイルを sirius サーバのホームディレクトリの public_html ディレクトリに転送せよ.

ブラウザから "http://sirius.yamamotolab.jt.u-tokai.ac.jp/%7E<ユーザID>/hello_world.php" という URL でアクセスせよ.教科書と同じ出力結果になることを確認せよ.

1.4.1 設定情報のページ

phpinfo() で PHP サーバ側の情報を取り出すことができる.ローカル PC 上で 先ほど作成した hello_world.php を phpinfo.php という名前でコピーし, php タグ(<?php から?>)を p.11 例1-2の一行に書き換え, sirius に転送しブラウザから確認せよ.

このとき表示されるのは sirius の PHP サーバの情報である.教科書の出力例と 比較せよ.

1.4.2 フォーム

ユーザがブラウザから入力したパラメータに従って異なる出力を行う文書を作成することができる. 教科書 p.11 例 1-3 のファイルを ex1_3.php という名前で作成し,sirius に転送, 動作確認を行え.

1.4.3 データベース

PHP は MySQL などの普及しているデータベースに対応している.データベースと連携した 動的ウェブページを簡単に作成できる.

1.4.4 グラフィックス

GD拡張モジュールを利用することで画像の作成などができる. (例1-5 は本授業のサーバでは実行できない)

1.4.5 省略

2 章 PHP 言語の基本

PHP は perl, C の影響を強く受けている.

以下の例 2 の PHP 文書を sample01.php というファイル名で作成しサーバに転送して 動作確認を行え.$i = の後の数値を変更した場合の動作を予想し,確認せよ. ローカル PC の sample01.php を書き換えるたびに sirius サーバに転送しなおす必要が あることに注意せよ.

例 2

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
  <head>
    <title>sample 01</title>
  </head>
  <body>
    <p>
<?php
  $i = 5;
  if ($i < 5) {
    echo("$i is smaller than 5.\n");
  } else {
    echo("$i is not smaller than 5.\n");
  }
?>
    </p>
  </body>
</html>

この例の if 文はプログラム中に書き込まれている変数 $i の値で判定結果が 決まっているので条件判定の例としては意味がない.

2.1 字句構造

ユーザが定義したクラス,関数名,組込みキーワードの名前では大文字と小文字が区別されない.

命令文の区切りにセミコロンを用いる.PHP 終了タグ "?>" の直前のセミコロンは 省略できるが付けておくほうが安全.

半角の空白文字の個数は出力に影響しない.

シェル形式のコメント,C++ 形式のコメント,C 形式のコメントが利用できる. C 形式のコメントは PHP の終了タグを超えて有効となることに注意.

リテラルとは単一の変数に格納できるデータのことである.C では文字列を格納 するには文字型の配列を使用する必要があるが PHP では単一の変数に格納できる.

変数名の先頭に $ をつける.関数名と違い,大文字小文字が区別されることに注意. 数字も使えるが名前の 1 文字めには使えない.

関数名,クラス名では大文字小文字は区別されない.

教科書 p.26 のキーワードは自分の関数名,変数名等には使えない.

第 1 回課題「誓約書の提出」 を提出せよ.


Updated in April 28, 2010, index.html, Yamamoto Hiroshi