サポートページ
本書中で作成しているBlogシステムのデータです。ダウンロードしてご使用ください。ZIP圧縮されていますので、解凍してご利用ください。データの使用方法については、書籍をご参照ください。
著者のサイトです。こちらもご参照ください。
本書では、XAMPP(MAMP)の最新版をインストールすることを前提に解説されています。この場合、使われるMySQLのバージョンは5.0xxxです。
本書133ページで、作成したデータベースを自分のサイトに転送する手順の解説がありますが、お使いのレンタルサーバーのデータベースのバージョンがMySQL4.0xxxの場合、バージョンが古いために正常にインポートされません。
その場合、最初に自分のコンピュータでデータベースを「エクスポート」するときの画面に「SQL エクスポート互換」という項目があります。こちらに「MYSQL40」という古いバージョン用のエクスポート機能がありますので、こちらをお試しください。
ただ、新バージョンから旧バージョンへのデータの移行は、思わぬ不具合になる場合もあります。その点、ご了承の上、お試しください。
レンタルサーバーのデータベースのバージョンが古い場合、考えられる方法としては、2つあります。
・新しいMySQLのバージョンを採用しているレンタルサーバーに移る
・XAMPPの古いバージョンを使用し、レンタルサーバとMySQLのバージョンを合わせる
本書において、以下のミスがありました。読者の皆様にご迷惑をおかけいたしましたことをお詫びいたします。
手順4の[ファイルを格納する場所]で、図と文章とが食い違っていますが、文章のほうが正しいものとなっております。
手順4の[ファイルを格納する場所]のMac版の記述にミスがありました。「/」ではなく、「:」で区切ってください。
・誤
Mac: /Applications/MAMP/htdocs/
・正
Mac: :Applications:MAMP:htdocs:
「素材ファイルを準備する」の4行目
・誤
ダウンロードしたファイルを解凍し「Blog」フォルダを…
・正
ダウンロードしたファイルを解凍し「blog」フォルダを…
手順3の、フィールドの設定の表にミスがありました。正しくは次のようになります。(訂正箇所は赤くしてあります)
なお、表中の「-」は、「なにも入力しない」という意味で使用しています。ハイフンを入力すると、エラーが出てしまいますので、ご注意ください。
| フィールド | フィールドタイプ | 長さ/セット | 空の値(NULL) | その他 |
|---|---|---|---|---|
| entry_id | INT | - | not null | auto_increment |
| subject | VARCHAR | 255 | not null | |
| digest | TEXT | - | not null | |
| document | TEXT | - | null | |
| post_date | TIMESTAMP | - | not null |
手順3の、フィールドの設定において、手順の抜けがありました。手順3の後に、以下の操作を行ってください。
「entry_id」フィールドの右側にあるカギマークのアイコン部分に、チェックをつけてください。

手順9の[MySQL 接続]ダイアログボックスでの設定において、「パスワード」欄を空欄にするよう書いてありますが、これはXAMPPの場合です。MAMPをお使いの場合は、「パスワード」欄に「root」と入力してください。
本文3行目の入力するアドレスにミスがありました。
・誤
http://localhost/blog/input.php
・正
http://localhost/blog/admin/input.php
手順1の記述にミスがありました。
・誤
phpMyAdminを起動し「データベース」から「MyBlogDatabase」を選択します。
・正
phpMyAdminを起動し「データベース」から「my_blog」を選択します。
解説の通りに設定しても、文字化けが解決しなかった場合、P.38の手順1に「照会順序」を選ぶ操作がありますが、ここで正しく「utf8_general_ci」を選択しているかどうか、ご確認ください。
なお、文字化けの解決方法を行っても、すでに登録済みの情報に対しては反映されません。お手数ですが、一度登録済みのデータを削除の上、49ページの登録作業を再度行ってください。
手順3の記述にミスがありました。
・誤
・値送信元:formEdit
・正
・値送信元:formMain
手順7ですが、図では3つある枠の一番上の枠のみが選択されているように表示されていますが、実際には3つの枠全体を選ぶ形で選択してかまいません。リピート領域の設定を行った後、83ページの最後で2つ目と3つ目のダミー記事を削除します。つまり、2つ目の「ここに記事のタイトルが入ります」から、3つ目の下の罫線までを削除します。よって、最終的に1つの枠に対してリピート領域を設定することになります。
83ページの図版が、実際と見え方が違っており、ご迷惑をおかけしました。
手順4の記述にミスがありました。
・誤
続けて、「前へ」も同じようにリンクをクリックし、
・正
続けて、「前のページへ」も同じようにリンクをクリックし、
手順3の、フィールドの設定において、手順の抜けがありました。
「comment_id」フィールドの右側にあるカギマークのアイコン部分に、チェックをつけて「主キー」に設定してください。

手順4の記述にミスがありました。
・誤
設定できたら、[作成]ボタンをクリックしてください。
・正
設定できたら、[保存する]ボタンをクリックしてください。
手順3の1行目の記述
・誤
まずは、テーブルの上で右クリック
・正
まずは、テーブルの一番右列で右クリック
手順3のphpMyAdminの操作ですが、XAMPPの新しいバージョンでは[追加]タブが[挿入]タブに名称変更されています。操作の際、ご注意ください。
3行目
・誤
「index.php」の3行目を見てみましょう。
・正
「index.php」の12行目(p138の図参照)を見てみましょう。
ソースの作り方によっては、行がずれている可能性がありますので、見つからない場合は「mysql_select_db」で検索してみてください。
「RSSを作ってみよう」の項についてですが、PHPの設定によっては、作り出した RSSを表示しようとすると、以下のようなエラーメッセージが出力されます。
Parse error: syntax error, unexpected T_STRING in xxx.php on line 1
これは、PHPの「short_open_tag」という設定が「On」になっているために、XMLの宣言文字列である「<?xml」という部分を、PHPの開始文字列と勘違いして発生するものです。これを防ぐには、XMLの1行目を次のように変更します。
<?xml version="1.0" encoding="UTF-8"?>
↓
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
これで、エラーメッセージは表示されなくなります。
手順3に説明不足がありました。
・誤
続けて「ID」に「entry_id」を、
・正
続けて「http://localhost/topic.php?id=xxx」の行の「xxx」の箇所に「entry_id」を
「日付を整形する」の1行目の記述
・誤
「日付」と書かれている部分に、これまで通り「date」をバインディングしましょう。
・正
「Tue, 31 Oct 2006 00:00:00 +0900」という日付が書かれている部分に、これまで通り「date」をバインディングしましょう。
PHPの設定によっては、作り出した RSSを表示しようとすると、以下のようなエラーメッセージが出力されます。
Parse error: syntax error, unexpected T_STRING in xxx.php on line 1
これは、PHPの「short_open_tag」という設定が「On」になっているために、XMLの宣言文字列である「<?xml」という部分を、PHPの開始文字列と勘違いして発生するものです。
これを防ぐには、XMLの1行目を次のように変更します。
<?xml version="1.0" encoding="UTF-8"?>
↓
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
これで、エラーメッセージは表示されなくなります。
ここでメールフォームをBlogシステムに組み込んでいますが、XAMPPやMAMP上からは、メールサーバーを起動していないため、メールの送信を試すことはできません。
動作検証をしたい場合は、130ページからの手順と同様、レンタルサーバーなどにアップロードしてから実行する必要があります。
手順2のソースに記述ミスがありました。
・誤
mysql_select_db($database_localhost,$localhost);
$result1 = mysql_query($insertSQL,$localhost) or die(mysql_error());
・正
mysql_select_db($database_MyBlogDatabase,$MyBlogDatabase);
$result1 = mysql_query($insertSQL,$MyBlogDatabase) or die(mysql_error());
9行目の記述にミスがありました。
・誤
Dreamweaverから「admin/index.php」を選択します。
・正
Dreamweaverから「admin/login.php」を選択します。
10行目の、ソースの記述場所の件ですが、編集部で検証した結果、Windows版のDreamweaver 8とMac版のDreamweaver 8とで、作成されるPHPコードが違っていました。
Windows版の8.01で作った場合、「22行目付近」に該当のコードがあります。
しかし、Mac版で作るとWindows版とは若干違うコードができあがり、「50行目付近」に該当のコードが来るようです。
環境によってずれがあるようですので、お気をつけください。
下から2行目の記述にミスがありました。
・誤
Dreamweaverから「admin/index.php」を選択します。
・正
Dreamweaverから「admin/login.php」を選択します。
上から2行目のソースにミスがありました。
・誤
$LoginRS_query=sprintf("SELECT id , name FROM test_table WHERE id=%s AND name=%s",
GetSQLValueString ($loginUsername , "int") , GetSQLValueString ($password , "text"));
・正
$LoginRS_query=sprintf("SELECT admin_id , password FROM login_table WHERE admin_id=%s AND password=%s",
GetSQLValueString ($loginUsername,"text"), GetSQLValueString ($password , "text"));
「SQLインジェクションに対処するために」の7行目にミスがありました。
・誤
例えば、「index.php」の22行目を次のように変更してみましょう。
・正
例えば、「login.php」の22行目付近(Win)、50行目付近(Mac)を次のように変更してみましょう。
9行目の記述にミスがありました。
・誤
管理者ログイン画面(admin/index.php)をコードビューで開きます。
・正
管理者ログイン画面(admin/login.php)をコードビューで開きます。
手順1のソースの記述にミスがありました。
・誤
print(md5('ABC');
・正
print(md5('ABC'));
手順2で「login_table」テーブルを開いています。125ページで「admin_id」フィールドとして作成したものが、204ページのテーブルでは「id」フィールドになっていました。整合性がとれておらず、申し訳ありません。以降のソース中の「id」フィールドはすべて「admin_id」フィールドに読み替えてください。
XAMPP Windows版 1.6.1以降では、デフォルトでインストールされる場所が「c:\xampp」に変更されたようです。デフォルトの場所にインストールされた場合は、パスを以下のように読み替えてください。
c:\xampp\htdocs\
c:\xampp\htdocs\
XAMPP Windows版が正常に起動しない場合、いくつかの原因が考えられます。apache friendsの「XAMPP Windows版FAQ」のページ
http://www.apachefriends.org/jp/faq-xampp-windows.html
の「XAMPPがWIndows XP SP2で動作しません」や「Apacheが起動しません」などの項をご参照ください。
正常に接続できない場合、P20の手順2にしたがって「ポートの変更」という手続きを行っているかどうかご確認ください。また、MAMPを起動したときに Apacheや MySQLという部分が青いマークに変わっていることをあわせてご確認ください。
もしうまくいかない場合には、MAMPを再インストールしてみてください。
また、Dreamweaver 8は、アドビシステムズのサイトで8.0.2アップデータが配布されています。8.0.2アップデータを適用していない方は、適用して最新の状態にしてから、本書の操作を行ってください。