初めてのPHP & MySQL 第2版

[cover photo]
TOPICS
Programming , Web , Database , HTML/CSS , PHP
発行年月日
PRINT LENGTH
464
ISBN
978-4-87311-365-4
原書
Learning PHP & MySQL, 2nd Edition
FORMAT
PDF
Ebook
3,740円
Ebookを購入する

本書はPHPとMySQLを使った動的なWebページの作成について解説する書籍です。最大の特徴は丁寧な記述。まず、PHP、MySQLの基本をそれぞれ説明し、そこから各要素の連携へと解説を進めます。テーブルの正規化や結合、さらにアクセス制御やセキュリティなど、しっかりしたWebアプリケーションの構築に欠かせない知識についても解説していることも特徴です。SmartyやPEARなど、実際のアプリケーション開発の際に必要なトピックもカバーしました。最後には、サンプルアプリケーションとしてブログのシステムを作成します。

目次

訳者まえがき
序文

1章 動的なコンテンツとWeb
	1.1 HTTPとインターネット
	1.2 Web開発におけるPHPとMySQLの位置づけ
		1.2.1 PHPとMySQLの組み合わせのメリット
		1.2.2 オープンソースの重要性
	1.3 PHPアプリケーションの構成要素
		1.3.1 PHP
		1.3.2 Apache
		1.3.3 SQLとリレーショナルデータベース
		1.3.4 MySQL
		1.3.5 互換性
	1.4 さまざまなリソースの統合
	1.5 Webページからデータをリクエストする
	1章の問題

2章 インストール
	2.1 ローカルコンピュータでの開発
		2.1.1 一括インストールか個別インストールか
		2.1.2 Apacheのインストール
		2.1.3 PHPのインストール
		2.1.4 MySQL5.0のインストール
		2.1.5 XAMPP
	2.2 リモートコンピュータでの作業
	2章の問題

3章 PHPの基礎
	3.1 PHPとHTML
		3.1.1 文字列の出力
		3.1.2 HTMLからPHPを切り離す
	3.2 コーディングの基礎
		3.2.1 変数
		3.2.2 文字列
		3.2.3 連結
		3.2.4 文字列の結合
		3.2.5 定数
		3.2.6 定義済みの定数
		3.2.7 数学計算の実行
	3 章の問題

4章 PHPの言語構造
	4.1 式
	4.2 演算子の概念
		4.2.1 オペランドの個数
		4.2.2 オペランドの型
		4.2.3 優先順位
		4.2.4 比較演算子
	4.3 条件分岐
		4.3.1 if文
		4.3.2 ?演算子
		4.3.3 switch文
	4.4 ループ
		4.4.1 whileループ
		4.4.2 do 〜 whileループ
		4.4.3 forループ
		4.4.4 ループから抜ける
		4.4.5 continue文
	4章の問題

5章 関数
	5.1 関数の実行
	5.2 関数の定義
		5.2.1 パラメータ
		5.2.2 参照パラメータ
		5.2.3 includeとrequire
		5.2.4 include文
		5.2.5 関数の存在チェック
	5.3 オブジェクト指向プログラミング
		5.3.1 クラスの作成
		5.3.2 インスタンスの作成
		5.3.3 メソッドとコンストラクタ
		5.3.4 クラス内の変数のスコープ
		5.3.5 継承
		5.3.6 静的メソッドと静的変数
		5.3.7 変数の参照
	5章の問題

6章 配列
	6.1 配列の基本
		6.1.1 連想配列と数値インデックスの配列
		6.1.2 配列の作成
		6.1.3 多次元配列
		6.1.4 配列を変数に展開する
		6.1.5 PHPの配列関数
	6章の問題

7章 MySQLとの連携
	7.1 MySQLデータベース
		7.1.1 コマンドラインからデータベースにアクセス
	7.2 データベースの管理
		7.2.1 ユーザを作成する
		7.2.2 MySQLデータベースの作成
	7.3 phpMyAdminの利用
	7.4 データベースの概念
	7.5 SQL(構造化照会言語)
		7.5.1 テーブルの作成
		7.5.2 テーブルにデータを追加
		7.5.3 テーブル定義の操作
		7.5.4 SELECT文によるデータベースの問合せ
		7.5.5 データの変更
		7.5.6 データの削除
		7.5.7 検索機能
		7.5.8 論理演算子
	7章の問題

8章 データベースの実践
	8.1 データベース設計
		8.1.1 リレーショナルデータベース
		8.1.2 リレーションシップのタイプ
		8.1.3 正規化
		8.1.4 正規化の形式
		8.1.5 列のデータ型
	8.2 データのバックアップとリストア
		8.2.1 データベースファイルのコピー
		8.2.2 mysqldumpコマンド
	8.3 高度なSQL
		8.3.1 インデックス
		8.3.2 LEFT JOIN ON節による選択
		8.3.3 GROUP BYクエリ
		8.3.4 データベースの中で関数を使用
	8章の問題

9章 PHPによるMySQLへの接続
	9.1 データベース処理の流れ
		9.1.1 リソース
	9.2 PHP組み込み関数によるデータベース処理
		9.2.1 データベースログイン情報のインクルード
		9.2.2 データベースへの接続
		9.2.3 データベースの選択
		9.2.4 SELECT文の作成
		9.2.5 クエリの実行
		9.2.6 データの取得と表示
		9.2.7 接続を閉じる
		9.2.8 すべてのステップをまとめる
	9.3 PEARの使用
		9.3.1 インストール
		9.3.2 追加パッケージのインストール
		9.3.3 書籍データの例をPEARで書き直す
	9章の問題

10章 フォームとの連携
	10.1 フォームの作成
		10.1.1 フォームから送信された値の参照
		10.1.2 フォーム要素の既定値
		10.1.3 入力要素
		10.1.4 複数の値を選択可能にする方法
		10.1.5 データの検証
		10.1.6 フィートとメートルの変換スクリプト
		10.1.7 PHPによるタイムゾーン変換ユーティリィティの作成
		10.1.8 フォームデータを使用したデータベースクエリ
	10.2 テンプレート
		10.2.1 テンプレートエンジン
		10.2.2 インストール
	10 章の問題

11章 実践的なPHP
	11.1 文字列関数
		11.1.1 文字列をフォーマットして表示する
		11.1.2 長さ
		11.1.3 大文字と小文字の変換
		11.1.4 文字列のチェック
		11.1.5 文字列の位置と部分文字列による文字列の抽出
	11.2 日付・時刻関数
		11.2.1 表示フォーマット
		11.2.2 計算
		11.2.3 日付の検証
		11.2.4 mktimeによるタイムスタンプの作成
	11.3 ファイル操作
		11.3.1 ファイル関数と使用上の注意
		11.3.2 URLラッパ
		11.3.3 ファイルのアップロード
	11.4 システムコールの実行
	11 章の問題

12章 XHTML
	12.1 XHTMLを使用する理由
	12.2 XHTMLとXMLの名前空間
	12.3 XHTMLのバージョン
		12.3.1 ドキュメントタイプ
		12.3.2 検証ツール
		12.3.3 検証時の注意事項
	12.4 PHPによるXHTMLの出力
	12章の問題

13章 データ構造とデータの変更
	13.1 PHPによるデータベースオブジェクトの変更
		13.1.1 テーブルの作成
		13.1.2 テーブルの削除
		13.1.3 エラーの発生
	13.2 テーブルデータの操作
		13.2.1 データの追加
	13.3 リンクの中にデータを埋め込んで表示
	13.4 データ追加フォームと追加処理を1つのファイルに記述する
		13.4.1 SQLインジェクション
		13.4.2 クロスサイトスクリプティング攻撃
	13.5 データの更新
	13.6 データの削除
		13.6.1 一意識別子の生成
	13.7 サブクエリの実行
	13章の問題

14章 クッキー、セッション、アクセス制限
	14.1 Cookie
		14.1.1 Cookieの設定
		14.1.2 Cookieへのアクセス
		14.1.3 Cookieの破棄
	14.2 PHPとHTTP認証
		14.2.1 データベースにユーザ名とパスワードを格納する
	14.3 セッション
		14.3.1 セッションの使用
		14.3.2 ログインスクリプトに処理を追加
		14.3.3 セッションの終了
		14.3.4 セッションをデータベースに格納する
	14.4 Auth_HTTPを使用した認証
	14章の問題

15章 セキュリティ
	15.1 Webサイトのセキュリティ
		15.1.1 管理ページへのアクセス制限
		15.1.2 ファイルのインクルード
		15.1.3 データベースにパスワードを格納
		15.1.4 オートグローバル変数に関する問題
	15.2 セッションのセキュリティ
		15.2.1 セッションハイジャックとセッション固定攻撃
		15.2.2 ユーザデータの信頼性
		15.2.3 共有ホストの懸案事項
		15.2.4 データベースへのアクセスを防ぐ
		15.2.5 外部ホストからのデータベースアクセスを阻止する
		15.2.6 データベースユーザを別に作成する
		15.2.7 クロスサイトスクリプティング
	15章の問題

16章 検証とエラーハンドリング
	16.1 JavaScriptによるユーザ入力の検証
	16.2 パターンマッチ
	16.3 データ検証の失敗後にフォームを再表示
		16.3.1 エラーログの記録
	16章の問題

17章 サンプルアプリケーション
	17.1 設定ファイル
	17.2 ページの枠組み
	17.3 データベース
		17.3.1 サンプルデータ
	17.4 記事の一覧表示
	17.5 記事とコメントの表示
	17.6 記事の追加と変更
	17.7 コメントの追加と変更
	17章の問題

18章 まとめ
	18.1 PHPのコーディング規約
		18.1.1 コメント
		18.1.2 フォーマット
			18.1.3 クラス
		18.1.4 名前の付け方
		18.1.5 制御構造
	18.2 PEAR
		18.2.1 構造化ライブラリ
	18.3 フレームワーク
		18.3.1 Zend Framework
		18.3.2 CakePHP
	18.4 Ajax
	18.5 Wiki
	18.6 Web上の役立つ情報
		18.6.1 PHPユーザグループ
	18章の問題

付録 各章の質問の解答

索引