-
[問合せ] PHP4で、4章6を正しく表示できない
問合せ
PHP4で、4章6の193ページを正しく表示できません。回答
原因
chapter4_6/SortNavigator.class.phpで、http_build_query関数を呼んでいます。しかし、この関数はPHP5以降のため、PHP4ではエラーになります。対策
php5func.zip をダウンロード、解凍して、chapter4_6/php5func.php にコピーしてください。次に、chapter4_6/index.php を修正します。
(修正前)require_once( './config.php' ); $smarty = new Smarty();
を、次のように赤太字の部分を挿入してください。
(修正後)
require_once( './config.php' ); if ( PHP_VERSION < "5" ) { require_once( './php5func.php' ); } $smarty = new Smarty();4 responses to “[問合せ] PHP4で、4章6を正しく表示できない”
-
初めまして、書店で手に取りやりたいことが「まさに書かれていた!」ので購入させていただきました。
サンプルを実行するとDB Error: connect failedと表示されます。
解決策をアドバイス願えれば幸いです。【現象】
p193のサンプルを、次のように実行
–>http://localhost/smartybook/chapter4_6/index.phpエラーメッセージ
–>DB Error: connect failed【私なりに考えたこと】
1.mysqlにパスワードが設定されているで拒否された(以前、設定したので)
パスワードはxxxxです。
2.データベースへの接続パスが適切でないので拒否された
調べていくとp192の解説にある
$CONFIG['dsn'] = ‘mysql://root@localhost/smartybook’;
を自宅PC環境に合わさなければいけないように思います。【自宅PC環境】
自宅PC環境でsmartybookデータベースを作成すると次のようなファイルが4つ出来ました。
C:\xampp\mysql\data\smartybook\cms.MYD
C:\xampp\mysql\data\smartybook\cms.frm
C:\xampp\mysql\data\smartybook\cms.MYI
C:\xampp\mysql\data\smartybook\db.optお忙しいところすみませんが、アドバイス願えれば幸いです。
※【追加情報】
関係ないとは思いますが、解説書とことなることをしたのでご報告です。
http://localhost/phpmyadmin/ を実行すると
エラーメッセージ
MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください
#1045 – Access denied for user ‘root’@'localhost’ (using password: NO)になりました。よって、別のソフト(SQL Buddy)を使いデータを作成しました。
smartybookデータベースのcmsテーブルへのデータ追加は手入力で行いました。
理由は、インポートは正常に完了(9件)するが実際にデータが存在しない
data.csvの中身を確認すると文字化けしているなどの理由からです。 -
ご質問ありがとうございます!
(1) 推測のとおり、rootのパスワードを設定しているためだと思います。パスワードをxxxxとすると、
$CONFIG['dsn'] = ‘mysql://root@localhost/smartybook’
を
$CONFIG['dsn'] = ‘mysql://root:xxxx@localhost/smartybook’
としてください。(2) phpmyadminでログインできない件ですが、C:\xampp\phpmyadmin\config.inc.php を編集すると、ログインできるかもしれません。
(2-1) もし、このファイルがなければ、C:\xampp\phpmyadmin\config.sample.inc.php をコピーして、config.inc.php を作ってください。
(2-2) config.inc.phpをテキストエディタで開いてください。
$cfg['Servers'][$i]['auth_type'] = —省略 —
の行を探してください。この行を
$cfg['Servers'][$i]['auth_type'] = ‘cookie’;
としてください。ユーザIDとパスワードの入力画面が表示されると思います。 -
アドバイスありがとうございます!
(1)については、アドバイス通り
$CONFIG['dsn'] = ‘mysql://root:xxxx@localhost/smartybook’
と書き換えたところ正常に表示されました。ありがとうございました。
(2)については、未確認です。(仕事が休みのときにでも確認してみます)ありがとうございました。取り急ぎお礼まで
-
追加です。
(2)についてもアドバイス通り
$cfg['Servers'][$i]['auth_type'] = ‘cookie’;
と変更すると正常にユーザIDとパスワードの入力画面が表示されました。ありごとうございました。
Leave a reply
-




最近のコメント