バージョン選択

フォーラム

メニュー

オンライン状況

64 人のユーザが現在オンラインです。 (54 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 64
もっと...

サイト内検索

質問 > フロント機能 > 問い合わせフォームの「確認ページヘ」ボタンを押すと内容が二重表示される

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tdyk
投稿日時: 2014/8/6 15:22
対応状況: −−−
半人前
登録日: 2014/6/13
居住地:
投稿: 13
問い合わせフォームの「確認ページヘ」ボタンを押すと内容が二重表示される
開発環境
[EC-CUBE]  2.11.5
[レンタルサーバ] アイクラスタ
[OS]      Win7 64 SP1
[PHP]  5.3.17
[データベース]  MySQL
[WEBサーバ] Apache/2.2.25
[ブラウザ]  firefox

お世話になっております。
連日、質問ばかりで申し訳ございません・・・。

<質問概要>
カスタマイズした問い合わせフォームへ、必須項目の記入をせず「確認ページヘ」ボタンを押すと、エラー表示の画面でお問い合わせ内容に自動記入された商品名が二重表示されてしまう。


<解決したいこと>
問い合わせフォームの必須項目に未入力箇所があった際、
「お問い合わせ内容欄」に自動表示された商品名は
1つのままの状態にしたい。


<症状>
?下記のページに習いお問い合わせフォームの
先頭部分と、「お問い合わせ内容」に自動で商品名が
入るようにしました。
http://www.itoben.com/style/blog/509.html#more-509


?商品詳細ページから「お問い合わせフォーム」に移動し、
入力項目に何も入力しないで「確認ページ」へボタンを
押すと、自動表示される「お問い合わせ内容」欄に表示されて
いる商品名が2つ表示されしまう。

必須項目が3項目のうち1項目入力した時、2項目入力した時でも
同じように商品名が2つ表示されてしまう。

以上の状態で
「確認ページヘ」ボタンを押した数だけ、同じ商品名が
増えていきます。



お忙しい中、申し訳ございませんが
お力貸してくださいませ。
yuh
投稿日時: 2014/8/6 15:56
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 問い合わせフォームの「確認ページヘ」ボタンを押すと内容が二重表示される
ふと、その内容ってホントに大丈夫ですか?
特に

$contact_product = $_GET['contact_product'];
//商品情報を取得
if(isset($contact_product)){
$arrRet = $objQuery->select("*", "dtb_products", "product_id = $contact_product");
}

この部分とか

問題自体は

<!--{if $arrRet AND $arrForm.contents.value ==""}-->「商品名:<!--{$arrRet.name|h}-->」について<!--{/if}-->

こんな感じに変えれば治ると思います。
tdyk
投稿日時: 2014/8/6 16:30
対応状況: −−−
半人前
登録日: 2014/6/13
居住地:
投稿: 13
Re: 問い合わせフォームの「確認ページヘ」ボタンを押すと内容が二重表示される
yuhさま

お世話になります。
連日ありがとうございます!
<!--{if $arrRet AND $arrForm.contents.value ==""}-->「商品名:<!--{$arrRet.name|h}-->」について<!--{/if}-->


をに変更して問題は解決できました。

上記スレッドの
$contact_product = $_GET['contact_product'];
//商品情報を取得
if(isset($contact_product)){
$arrRet = $objQuery->select("*", "dtb_products", "product_id = $contact_product");
}


ですが、内容的にマズイのでしょうか?

当方、見よう見まねで構築している状態でして、
「これは内容的にどういうものなのか?」
という点を理解せずに進めてしまっております。

セキュリティ的に引っかかるようなことなのでしょうか?

お時間有るとき、簡単にでも構いませんので
こちらの点をご教授ください。

いつも本当にありがとうございます。
yuh
投稿日時: 2014/8/7 13:53
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 問い合わせフォームの「確認ページヘ」ボタンを押すと内容が二重表示される


$contact_product = $_GET['contact_product'];
//商品情報を取得
if(isset($contact_product) AND preg_match('/^[0-9]+$/',$contact_product)){
$arrRet = $objQuery->select("*", "dtb_products", "product_id = ?",array($contact_product));
}

書くのであれば、上記のように値のチェックとプレースホルダーを使った方がいいと思います。

値のチェックをせずにGETで受け取った値をそのままプレースホルダーを使用せずにクエリとして書いてるので、objQuery->selectでエスケープ処理をやってたかは覚えてないんですが、今後色々変更する場合はやっておいた方がいいと思います。







こんな感じの事が起こったり起こらなかったり・・・
http://npnl.hatenablog.jp/entry/20080412/1207965105
tdyk
投稿日時: 2014/8/7 16:37
対応状況: −−−
半人前
登録日: 2014/6/13
居住地:
投稿: 13
Re: 問い合わせフォームの「確認ページヘ」ボタンを押すと内容が二重表示される
yuhさま

お世話になっております。

ご丁寧にコードと参考ページまで
いただきありがとうございます!!

危うくそのまま公開にと行くところでした・・・

本当にありがとうございます!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,886名です
総投稿数は110,000件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.