初版「CGIプログラミング入門」は、1997年に刊行されてから今日まで、その読者は延べ7万人にも及びます。個人の学習用としてはもとより、多くの専門学校でテキストとして採用されてきた、CGIの標準教科書です。
本書は、何から手をつけたらよいのかわからない初心者でも、安心して学習を始めることができるように、必要なソフトは付属CD-ROMにすべて収録してあります。また、インストール方法から丁寧に解説していますので、途中でつまづくことなく読み進めることができます。初心者向けの書籍ではありますが、読み終わる時には、自分の思い通りのCGIプログラムが作成できるようになります。
今回の第2版では、初版の良さはそのままに、現在のPC環境に合わせた改定を行いました。初心者のみならず、一度学習を断念した人にもお薦めの一冊です。
(Windows XP/Mac OS X 対応)
CGIプログラムを作ろう
1 CGIを使ってみよう
2 CGIの仕組み
3 CGIプログラムを作ってみよう
4 CGIプログラムを作る
5 サーバーに設置する
6 実際に動かしてみよう
7 この本で学ぶこと
はじめに
この本の読み方
サポート
付属CD-ROMについて
第1章 CGIとはなにか
1.1 CGIを利用したサイト
検索エンジン(サーチ・エンジン)
掲示板(BBS)
アンケート
1.2 CGIの仕組み
1.2.1 WWWの仕組み
1.2.2 CGIの仕組み
1.2.3 CGIとプログラム
1.3 Perlという言語
1.3.1 Perlを選ぶ理由
1.3.2 プログラムとは
1.4 Perlを使ってみる
1.4.1 Perlのインストール
1.4.2 テキストエディタのインストール
1.4.3 文字を表示する・文字列
1.4.4 形式
1.4.5 改行
1.4.6 数値・計算
1.4.7 変数と代入
1.4.8 配列
1.4.9 ハッシュ(連想配列)
1.4.10 ダブルクォートとシングルクォート
1.4.11 エスケープ
1.4.12 コメント
第2章 CGIのためのサーバー基礎知識
2.1 サーバー環境
サーバーマシンのOSやWindowsサーバーの種類
そもそもCGIやSSIのプログラムが利用可能かどうか
Perlのパスやバージョンについて
CGIやSSIプログラムの設置方法
CGIプログラムの呼び出し方(URL)
その他の制限
FTPによる接続
2.2 サーバーへの接続
2.2.1 FTP接続によるサーバー利用
2.2.2 FTPサーバーへの接続
2.2.3 ファイル情報の一覧
2.2.4 ファイル転送(1)
2.2.5 ディレクトリ
2.2.6 パス
2.2.7 パーミッション
2.2.8 ファイル転送(2)~転送モード
2.2.9 ファイル操作
第3章 CGIプログラムの基礎
3.1 CGIプログラムを動かしてみる
3.1.1 文字を表示するCGIプログラム
3.1.2 文字コード・改行コードについて
3.1.3 CGIプログラムをサーバーに設置する
3.1.4 ブラウザから呼び出してみる
3.2 データを受け取るCGIプログラム
3.2.1 cgi-lib.plを使ってデータを受け取る
3.2.2 CGI.pmを使ってデータを受け取る
3.2.3 jcode.plを使って文字コードを変換する
3.2.4 Jcode.pmを使って文字コードを変換する
3.2.5 入力欄が複数ある場合
第4章 ファイルを操作してみよう
4.1 ファイルへの書き込み
4.1.1 ファイルへの書き込み方法
4.1.2 CGIプログラムをサーバーに設置する
4.1.3 ブラウザから実行してみる
4.1.4 「上書き書き込み」と「追加書き込み」の違い
4.2 ファイルからの読み出し
4.2.1 ファイルからの読み出し方法
4.2.2 CGIプログラムをサーバーに設置する
4.2.3 この章のまとめ
第5章 SSI
5.1 SSIとは
5.2 簡単なSSI
5.2.1 SSIを使ってみる
5.2.2 情報を表示するSSI
5.2.3 ファイルを取り込むSSI
5.2.4 プログラムを実行するSSI
5.3 簡単なアクセスカウンターを作る
第6章 Perlの使い方(1) 掲示板の拡張
6.1 条件分岐
6.1.1 条件分岐(1)~ifとelse
6.1.2 条件式
6.1.3 条件分岐(2)~elsif
6.2 新しい書き込みを上に付け足す
6.2.1 ファイルの上にデータをつけ足す方法を考える
6.2.2 ファイルのリネーム
6.2.3 ファイルを読み出す方法(1)~while
6.2.4 ファイルを読み出す方法(2)~<>演算子
6.2.5 ファイルを呼び出す方法(3)~式の評価と返り値
6.2.6 ファイルを読み出す方法(4)~まとめ
6.3 書き込まれたHTMLを無効にする
6.3.1 置き換え~s///演算子
第7章 Perlの使い方(2) アクセスカウンターの拡張
7.1 グラフィカルアクセルカウンターを作る
7.1.1 グラフィカルアクセスカウンターを作る
7.1.2 文字列の分割~split演算子
7.1.3 foreach文による繰り返し
7.1.4 ブラウザから実行してみる
7.2 グラフィカルアクセスカウンターを改良する
7.2.1 グラフィカルアクセスカウンターを改良する
7.2.2 配列の要素の数を知る方法
7.3 アクセスログを取る(環境変数)
7.3.1 アクセスログを取るスクリプトを作る
7.3.2 環境変数
7.3.3 Perlで環境変数を扱う方法~%ENV
7.3.4 アクセスログを取る
7.4 ログの集計
7.4.1 ログファイルを集計する
7.4.2 ソート~sort演算子
7.4.3 高度なソート
7.4.4 ログファイルを編集する
第8章 いろいろな技術(Perl)
8.1 ヒアドキュメント
8.1.1 ヒアドキュメント
8.1.2 ヒアドキュメントの使い方
8.2 現在時刻を扱う
8.2.1 現在時刻を扱う~localtime関数
8.3 乱数
8.3.1 乱数とは
8.3.2 乱数~rand
8.3.3 おみくじプログラム
8.4 サブルーチン
8.4.1 サブルーチンの作成と呼び出し
8.4.2 グローバル変数とローカル変数
8.4.3 サブルーチンの返り値
8.4.4 サブルーチンに引数を渡す
8.4.5 今までのスクリプトの一部をサブルーチンにしてみる
8.5 DBM
8.5.1 DBMとは
8.5.2 DBMを使う~tie・unite関数
第9章 いろいろな技術(WWW)
9.1 Locationヘッダ
9.1.1 Locationヘッダの使い方
9.1.2 どのような時に使うか?
9.2 nkfを使った文字コードの変換
9.2.1 文字コードを変換する必要性
9.2.2 nkfを使った文字コードの変換
9.3 CGIプログラムからメールを送る
9.3.1 メールを送る~sendmail
9.3.2 メールを送るCGIプログラムの実例
9.3.3 差出人がnobodyとなっている理由
9.4 ファイルのロック
9.4.1 ファイルロックとその仕組み
9.4.2 ファイルロック~flock
9.4.3 書き込み時のファイルロック
9.4.4 読み出し時のファイルロック
9.4.5 ファイルロックのかけかた
9.5 チェックボックスを使う
9.5.1 データの受け取り方
9.5.2 処理の仕方
9.5.3 アンケートを取るCGIスクリプト
付録A
A-1 ソフトウェアの紹介(Macintosh編)
MacPerl
mi
Fetch
A-2 ソフトウェアの紹介(Windows編)
ActivePerl
TerePad
FFFTP
付録B
B-1 環境変数一覧
B-2 SSI一覧
B-3 ダブルクォート内で使える特殊文字
使用例
B-4 ありがちなミス一覧
続編「CGI基礎講座」紹介
さいごに~これからどうするか
コラム一覧
第1章 CGIとはなにか
コラム1-A Webサーバーとクライアント
コラム1-B CGI以外の同様な仕組みとCGIの利点
コラム1-C コンピュータと融通
コラム1-D プログラムとスクリプト
コラム1-E Perlスクリプトの実行方法
コラム1-F 計算記号
第2章 CGIのためのサーバー基礎知識
コラム2-A FTPサーバーを登録する
コラム2-B HTMLエディタのFTP機能
コラム2-C ホームディレクトリ
コラム2-D パスとURL
コラム2-E ドットファイル
第3章 CGIプログラムの基礎
コラム3-A HTTPのヘッダ
コラム3-B 文字コード
コラム3-C iモードと文字コード
コラム3-D Perlの文法チェック機能
コラム3-E .htaccessを使った設定
コラム3-F CGI.pmを使いこなす
コラム3-G 半角カナの処理
コラム3-H iモードのためにSJISに変換して出力する
コラム3-I 文字コードを一括変換する
コラム3-J ライブラリの共有
第4章 CGIプログラムのの基礎
コラム4-A GETとPOSTの違い
コラム4-B 予約語
コラム4-C パーミッションの危険性
第5章 SSI
コラム5-A .htaccessとSSI
コラム5-B 日時を指定する書式
コラム5-C SSIを使わないアクセスカウンター
第6章 Perlの使い方(1) 掲示板の拡張
コラム6-A 文字列の比較
コラム6-B 「または」を表す演算子
コラム6-C 未定義値
コラム6-D 真偽と1・0
コラム6-E 正規表現
第7章 Perlの使い方(2) アクセスカウンターの拡張
コラム7-A 区切りとなる文字列
コラム7-B 配列を操作するための関数
コラム7-C sprintfで桁数を揃える
コラム7-D 論理和演算子とソート
コラム7-E スカラーコンテキストとリストコンテキスト
第8章 いろいろな技術(Perl)
コラム8-A 数字が1桁のときに頭に0を付けるには
コラム8-B 現在以外の時刻を扱う~time関数
コラム8-C 乱数がランダムにならない場合
コラム8-D 比較ルーチンで使ったローカル変数
コラム8-E 配列は欲張り!?
コラム8-F 「666」ではなく「0666」の理由
第9章 いろいろな技術(WWW)
コラム9-A CGIプログラムを使えば匿名メールが出せるか
コラム9-B 汎用性を高めることの危険性
コラム9-C メールの題名に日本語を使う
コラム9-D 上書き書き込みとファイルロック
コラム9-E 排他ロックと共有ロック
コラム9-F DBMとロック
コラム9-G flock以外のファイルロック
コラム9-H split演算子とサブルーチンSplitParamの違い
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。