[Tep-j-general] Re: これは便利です!(Conditions, Privacy & Shipping with MySQL )

Zurück zum Archiv-Index

TAMURA Toshihiko tamur****@bitsc*****
2002年 12月 5日 (木) 22:03:16 JST


永田さん、こんばんは。
田村です。

> Conditions, Privacy & Shipping with MySQLの件なのですが、これのhack部分に
> はMySQLに対して「mysql_query」などとSQL命令を発行しているのですが、
> osCommerceでは(例えば管理側では/admin/includes/functions/database.php)に記
> 述されているfunctionを経由してSQLを発行していますよね。

動かすだけなら、実質的にはどちらでもいいんですが、
永田さんがされたように、tep_db_query / tep_db_fetch_array で
統一するのがいいと思います。
必要なときにはSQLをログに落としたりすることもできますから。


> また、管理側でMySQLへの書き込みなのですが、HTMLを書き込む場合に(例え
> ば<table border="0" cellpadding="6" cellspacing="2" width="100%">など)、"等
> はエスケープされて<table border=〓"0〓"...と言う状態でMySQLへ格納されてしまう
> のですが(ホントはここが問題?)、オリジナルだとそのまま出力する為、めちゃく
> ちゃなHTMLになってしまうので、出力部分で、
> 
> <?php echo $row['Text']; ?>
> 
> とした部分を、
> 
> <?php echo stripslashes($row['Text']); ?>
> 
> としてみたのですが...

データベースに記録する前に、シングルクォート(')やダブルクォート(")を
クォート(エスケープ)して、表示のときにそれを取り除くというのが
基本ですから、それでいいです。

addslashes()で明示的にクォートしているのでないのなら、
php.ini の設定で magic_quotes_gpc=On になっているために、
自動的にクォートされているんでしょうかね。
それなら、magic_quotes_gpc=Off の場合でもうまく動くように、
addslashes()を入れておいた方がいいと思います。

--
田村敏彦 / 株式会社ビットスコープ
E-mail:tamur****@bitsc*****
http://www.bitscope.co.jp/




Tep-j-general メーリングリストの案内
Zurück zum Archiv-Index