作りながら楽しく学べるPHPプログラミング入門書
今からPHPを始める人も、途中でやめてしまった人も、すべての初心者に向けた入門書です。本書ではXAMPP/MAMPPを採用しており、面倒でつまづきやすい環境設定も一括インストールで簡単に行えます。
最新PHP5.4対応はもちろん、入門書として基本部分をガッチリ押さえています。
本書掲載サンプルは、サポートサイトよりダウンロード可能です。
更新履歴
- FAQ情報:2013年3月5日 更新
- 正誤訂正:2016年6月9日 更新
目次
- CHAPTER 01 プログラミングの準備とWebの基本
- LESSON 01 PHPプログラミングの準備をしよう
- LESSON 02 PHPの設定ファイルを確認しよう
- LESSON 03 HTMLの基本を理解しよう
- CHAPTER 02 PHPの基本をおさえよう
- LESSON 04 カンタンなPHPスクリプトを作成しよう
- LESSON 05 変数を使ってカンタンな計算をしてみよう
- LESSON 06 PHPにあいさつしてもらおう
- LESSON 07 現在の日時を表示しよう
- CHAPTER 03 名簿アプリを作成しよう/変数と制御構文
- LESSON 08 シンプルな名簿を作成しよう
- LESSON 09 繰り返し構文で名簿をリスト表示しよう
- LESSON 10 while / foreach命令で名簿をリスト表示しよう
- LESSON 11 連想配列で名簿リストを拡張しよう
- LESSON 12 名簿リストに検索機能を追加しよう
- LESSON 13 検索機能をよりシンプルなコードで追加しよう
- CHAPTER 04 アンケートフォームを作成しよう/フォーム
- LESSON 14 テキストボックス以外のフォーム要素を活用しよう
- LESSON 15 フォーム入力を受け取るさまざまな方法を理解しよう
- LESSON 16 セッション機能でウィザード形式のフォームを作成しよう
- CHAPTER 05 アンケートフォームを改良しよう/検証機能とメール送信
- LESSON 17 ユーザーからの入力値をチェックしよう
- LESSON 18 ユーザーからの入力値を正規表現でチェックしよう
- LESSON 19 アンケートフォームの内容をメール送信しよう
- LESSON 20 アンケートフォームの内容をメール送信しよう(2)
- CHAPTER 06 ゲストブックを作成しよう/ファイルシステム関数
- LESSON 21 テキストベースのゲストブックに書き込もう
- LESSON 22 ロック機能で同時アクセスに備えよう
- LESSON 23 ゲストブックへの書き込みをリスト表示しよう
- LESSON 24 記事を書き込みの新しい順に表示しよう
- LESSON 25 自分の名前をクッキーに記録しよう
- CHAPTER 07 画像アップロード機能を実装しよう/ファイルシステム関数(2)
- LESSON 26 ファイルをサーバーにアップロードしよう
- LESSON 27 ディレクトリ関数でフォルダの内容を一覧表示しよう
- LESSON 28 サーバー上のファイルをダウンロードしよう
- LESSON 29 DirectoryIteratorクラスでフォルダの内容を一覧表示しよう
- CHAPTER 08 データベースの基本をおさえよう
- LESSON 30 データベースを利用するための準備をしよう
- LESSON 31 テーブルを作成しよう
- LESSON 32 SQLの基本を理解しよう
- LESSON 33 データを新規登録/更新/削除しよう
- LESSON 34 データを検索しよう
- CHAPTER 09 スケジュール管理アプリを作成しよう/データベース連携
- LESSON 35 データベースに接続してみよう
- LESSON 36 スケジュールの登録をしてみよう
- LESSON 37 スケジュール情報を一覧表示しよう
- LESSON 38 スケジュール情報を更新/削除しよう
- CHAPTER 10 スケジュール管理アプリに認証機能を実装しよう/ PEAR
- LESSON 39 PEAR::Authを準備しよう
- LESSON 40 PEAR::Authでフォーム認証を実装しよう
正誤表
| 該当頁 | 該当箇所 | 修正刷 |
|---|---|---|
| 訂正箇所 | 訂正事項 | 更新日 |
| p.31 | サンプルファイルのダウンロードURL | - |
| http://www.shoeisha.co.jp/book/hp/10days/ | http://www.shoeisha.co.jp/book/10days/ ( /hp をはずしてください) |
2012/09/21 |
| p.82 | 図2 選択(右側)の図 Yesの矢印の先 | - |
| 処理2 | 処理1 | 2013/09/14 |
| p.93 | リスト1 list.php 020、027行目 | - |
| <ol> ...中略... </ol> |
<dl> ...中略... </dl> |
2013/03/05 |
| p.94 | 図1 連想配列(下側)の図 横山花子の値 | - |
| 横山花子 | 神奈川県… | 2013/09/14 |
| p.96 | リスト2 list.php 020、036行目 | - |
| <ol> ...中略... </ol> |
<dl> ...中略... </dl> |
2013/03/05 |
| p.100 | サンプルファイルのフォルダ名 | - |
| lesson24 lesson24-2 |
lesson12 lesson12-2 |
2016/06/09 |
| p.101 | リスト2 list.php 026、038行目 | - |
| <ol> ...中略... </ol> |
<dl> ...中略... </dl> |
2013/03/05 |
| p.105 | リスト3 list.php 026、047行目 | - |
| <ol> ...中略... </ol> |
<dl> ...中略... </dl> |
2013/03/05 |
| p.108 | リスト1 list.php 026、050行目 | - |
| <ol> ...中略... </ol> |
<dl> ...中略... </dl> |
2013/03/05 |
| p.146 | 手順2 実行URL | - |
| http://localhost/php10/lesson16/wizard1.php | http://localhost/php10/lesson17/wizard1.php | 2016/01/28 |
| p.159 | リスト1 wizard3.php 052-053行目 | - |
| From: {$_POST[\\'from\\']} Return-Path: {$_POST[\\'from\\']} |
From: {$_SESSION[\\'email\\']} Return-Path: {$_SESSION[\\'email\\']} |
2012/10/23 |
| p.162 | 「長いテキストはヒアドキュメントで表そう」下のコード部分 | - |
| From: {$_POST[\\'from\\']} Return-Path: {$_POST[\\'from\\']} |
From: {$_SESSION[\\'email\\']} Return-Path: {$_SESSION[\\'email\\']} |
2012/10/23 |
| p.168 | リスト3 wizard3.php 057-058行目 | - |
| From: {$_POST[\\'from\\']} Return-Path: {$_POST[\\'from\\']} |
From: {$_SESSION[\\'email\\']} Return-Path: {$_SESSION[\\'email\\']} |
2012/10/23 |
| p.169 | 講義 本文2行目 | - |
| テキストボックスfromから | テキストボックスemailから | 2012/10/19 |
| p.188 | 冒頭のリード文 | - |
| LESSON 23では、LESSON 21で記録したゲストブックへの書き込みを、 | LESSON 23では、記録したゲストブックへの書き込みを、 | 2016/06/08 |
| p.197 | リスト2 guest_write.php 6-8行目 | - |
| fputs($file, date(\\'Y年 m月 d日 H:i:s\\')."\\\\t"); fputs($file, $_POST[\\'name\\']."\\\\t"); fputs($file, $_POST[\\'message\\']."\\\\n"); |
fputs($tmp_file, date(\\'Y年 m月 d日 H:i:s\\')."\\\\t"); fputs($tmp_file, $_POST[\\'name\\']."\\\\t"); fputs($tmp_file, $_POST[\\'message\\']."\\\\n"); |
2013/01/17 |
| p.225 | リストのキャプション | - |
| リスト1 download.php | リスト2 download.php | 2014/03/12 |
| p.279 | 図10:論理演算子 | - |
| sdate >= \\'2010-01-01\\' OR sdate <= \\'2011-12-31\\' | sdate <= \\'2010-01-01\\' OR sdate >= \\'2011-12-31\\' | 2016/06/09 |
| p.283 | 図17:グループ化とは? sdate列の2行目 | - |
| 2012-07-17 | 2012-07-07 | 2016/06/09 |
| p.306 | リード文 | - |
| LESSON 39では、スケジュール情報テーブル(schedule)に | LESSON 38では、スケジュール情報テーブル(schedule)に | 2014/03/12 |
FAQ
php.iniのerror_reportingが修正されていないように思われます。
LESSON02 実習1の手順を確認してみてください。
LESSON02 実習1の手順を確認してみてください。
更新日: 2013.03.05
データベースに接続するコードを以下に差し替えて試してみてください。
$db = new PDO('mysql:host=localhost; dbname=php10', 'phpusr', 'phppass');
$db->exec('SET NAMES utf8');
$db = new PDO('mysql:host=localhost; dbname=php10', 'phpusr', 'phppass');
$db->exec('SET NAMES utf8');
更新日: 2013.02.02
ダウンロード
お問い合わせ
書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。
お問い合わせの前にFAQ・正誤表をご確認ください。すでに掲載済みの内容については個別回答が難しい場合があります。