気づけば プロ並み PHP(第1版)
ショッピングカート作りにチャレンジ!

本書に一部誤りが見つかりましたので正誤表を掲載いたします。
ご迷惑をおかけしたことを深くおわび申し上げます。


ページ




17
(〜1刷)
●下から4行目
http://www.apachefriends.org/jp/
xampp-macosx.html


http://www.apachefriends.org/jp/
download.html
53 2-3-1
30 |If($staff_pass=='')


30 |if($staff_pass=='')
54 2-3-2 左上画面
(画像をクリックすると拡大表示します)



61
(〜1刷)
2-4-1
18 |$staf_pass = htmlspecialchars($staff_pass);


18 |$staff_pass = htmlspecialchars($staff_pass);
69 2-5-1
36 |     print '</br>';


36 |     print '<br />';
70 2-5-3
38 |     print '</br>';


38 |     print '<br />';
81 ●囲みの右上
4-7-4


2-7-4
90 2-8-5
1 |<?php>


1 |<?php
98 3-1-2
17 | if($pro_name=='')


17 | if($pro_name==' ')
99 3-1-2
39 | if($pro_name=='')


39 | if($pro_name==' ')
102 3-2-1
39 |     print '</br>';


39 |     print '<br />';
103 3-2-2
7 |            header('Location: pro_ng.php');


7 |            header('Location: pro_ng.php');
104 ●5行目
[表示]や[修正]や[削除]


参照]や[修正]や[削除]
104 ●8行目
[表示]などをクリックしてみて


参照]などをクリックしてみて
113 3-3-3
54 |if($pro_name=='' || preg_match('/^[0-9]+$/', $pro_price)==false || $pro_gazou['size'] > 1000000)


54 |if($pro_name=='' || preg_match('/^[0-9]+$/', $pro_price)==0 || $pro_gazou['size'] > 1000000)
113
(〜1刷)
3-3-3
65 | print'<input type="hidden" name="price" value="' .$pro_name. '">';


65 | print'<input type="hidden" name="price" value="' .$pro_price. '">';
116 3-3-7
65 | <form>


65 | <br />
119 3-3-9
72 |      <br />


72 |      print '<br />';
119 ●下から2行目
入れ替えたら[表示]で確認しましょう。


入れ替えたら[参照]で確認しましょう。
120 ●下から7行目
そして[表示]で表示してみてください。


そして[参照]で表示してみてください。
121 3-3-13
30 | ;


30 |
128 4-1-2
10 |$staf_pass= htmlspecialchars($staff_pass);


10 |$staff_pass= htmlspecialchars($staff_pass);
139 4-3-2
1 |<?php
2 |$_SESSION=array();


  (中略)
7 |@session_destroy();


1 |<?php
2 |session_start();
3
|$_SESSION=array();

  (中略)
8 |session_destroy();
   

※1行追加するため、以降、staff_logout.phpの行番号が本書の記載よりも1つズレるのでご注意ください。また、[@]の1字を削除してください。

141 4-3-4プログラム部分

$_SESSION=array();
  (中略)
@session_destroy();


session_start();
$_SESSION=array();
  (中略)
session_destroy();
166 ●下の囲み右上
5-5-2


5-5-3
197
(〜1刷)
6-6-2 下の点線囲み
if(isset($_POST['sakujo0')==true)
{
   print '0番目がチェックされた<br />';
}
if(isset($_POST['sakujo1')==true)
{
   print '1番目がチェックされた<br />';
}
if(isset($_POST['sakujo2')==true)
{
   print '2番目がチェックされた<br />';
}


if(isset($_POST['sakujo0'])==true)
{
   print '0番目がチェックされた<br />';
}
if(isset($_POST['sakujo1'])==true)
{
   print '1番目がチェックされた<br />';
}
if(isset($_POST['sakujo2'])==true)
{
   print '2番目がチェックされた<br />';
}
211
(〜1刷)
6-7-9
110 |    <td><input type="checkbox" name="sakujo<?php print $i; ?>">105|<td><?php print $pro_name[$i]; ?></td></td>


110 |    <td><input type="checkbox" name="sakujo<?php print $i; ?>"></td>
218 7-2-1 下から10行目
if(!preg_match('/^[0-9]+$/', $postal1))


if(preg_match('/^[0-9]+$/', $postal1)==0)
218 7-2-1 下から4行目
if(!preg_match('/^\d{2,5}-?\d{2,5}-?\d{4,5}$/', $tel)==0)


if(preg_match('/^\d{2,5}-?\d{2,5}-?\d{4,5}$/', $tel)==0)
246 7-5-1
(誤)   
(正)   
246 7-5-2
74 | $sql = 'LOCK TABLES dat_sales,
dat_sales_product WRITE';


74 | $sql = 'LOCK TABLES dat_sales
WRITE,dat_sales_product WRITE';
256 8-1-6
30 |ダウンロードしたい注文日を選んでください。<br />31|<br />


30 |ダウンロードしたい注文日を選んでください。<br />
260 8-2-3 4行目
dat_sales, dat_sales_product, mst_product


dat_sales, dat_sales_product, mst_product
279 ●テーブル名:dat_member 右から2番目の列
キー
PK



インデックス
PRIMARY
280
9-1-4
(誤) 33 | print $onamae.'様<br />';
    |
80 | $stmt->execute($data);


(正) 33 | print $onamae.'様<br />'
    |
78 | $sql='LOCK TABLES dat_sales WRITE,dat_sales_product WRITE,dat_member WRITE';
79 | $stmt=$dbh->prepare($sql);

80 | $stmt->execute();
287 9-2-4
20 | <a href="shop_list.php">商品一覧へ</a>


20 | <a href="shop_list.php">商品一覧へ</a>
292 ●中段の図中、中央画面のアドレスバー
http://localhost/shop/shop_form_check.php


http://localhost/shop/shop_kantan_check.php
292 ●中段の図中、右画面のアドレスバー
http://localhost/shop/shop_form_done.php


http://localhost/shop/shop_kantan_done.php


印刷用PDFはこちら



印刷用PDFはこちら