Tsukasa Sakaguchi
t-sak****@brain*****
2002年 12月 19日 (木) 16:30:03 JST
さかぐち@brainheartsです。 管理画面の顧客情報編集(admin/customers.php)の入力チェックを強化していた ところ、チェックのjavascriptにエラーがあるの気付きました。 たとえば、 161 if (customers_firstname = "" || customers_firstname.length < <?php echo ENTRY_FIRST_NAME_MIN_LENGTH; ?>) { 162 error_message = error_message + "<?php echo JS_FIRST_NAME; ?>"; 163 error = 1; 164 } ですが、比較演算子(==)であるべきところに、代入演算子(=)が使用されています。 # customers_firstname = "" は常に成功するため true が返されます そのため、たとえば 165 else if (customers_firstname に半角カナが含まれているか) { 166 error_message = error_message + '半角カナはつかえません'; 167 error = 1; 168 } というようなチェックを追加しても、customers_firstnameは "" に置き換えられて しまっているので、意図したチェックができなくなります。 この問題は 英語版(20021216)にも残っています。 なお、顧客の新規登録画面でのチェック(catalog/includes/form_check.js.php)は 比較演算子(==)が使われているので、問題ありません。 -- BrainHearts Corp. Tsukasa Sakaguchi / t-sak****@brain***** Tel. 045-290-7561