本書はPHPとMySQLを使った動的なWebページの作成について解説する書籍です。最大の特徴は丁寧な記述。まず、PHP、MySQLの基本をそれぞれ説明し、そこから各要素の連携へと解説を進めます。テーブルの正規化や結合、さらにアクセス制御やセキュリティなど、しっかりしたWebアプリケーションの構築に欠かせない知識についても解説していることも特徴です。SmartyやPEARなど、実際のアプリケーション開発の際に必要なトピックもカバーしました。最後には、サンプルアプリケーションとしてブログのシステムを作成します。
初めてのPHP & MySQL 第2版
Michele E. Davis, Jon A. Phillips 著、西沢 直木 訳
- TOPICS
- Programming , Web , Database , HTML/CSS , PHP
- 発行年月日
- 2008年05月
- PRINT LENGTH
- 464
- ISBN
- 978-4-87311-365-4
- 原書
- Learning PHP & MySQL, 2nd Edition
- FORMAT
目次
訳者まえがき 序文 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章の問題 付録 各章の質問の解答 索引