バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > セッション変数へ共通フラグを入れたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ecbg
投稿日時: 2010/11/12 20:19
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
セッション変数へ共通フラグを入れたい
いつもお世話になっております。

表題の件ですが、
共通ヘッダー部分に例えば「ボタン1」と「ボタン2」を用意して、「ボタン1」を押したとき「1」、「ボタン2」を押したときは「2」という値をセッション変数に格納し、その後は元の表示されているページへ推移するという動きを模索しております。

元のページを表示したいので、formタブのactionに特定のphpファイルを入れてしまうと、特定のページへ移動し、元のページが表示されません。

どなたか、お詳しい方いらっしゃいましたら、どうかアドバイスをいただけないでしょうか?
どうぞよろしくお願いいたします。

↓動作環境
EC-CUBEバージョン 2.4.3
PHPバージョン 5.2.9
DBバージョン PostgreSQL 8.3.7
AMUAMU
投稿日時: 2010/11/13 16:22
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: セッション変数へ共通フラグを入れたい
actionを見ているページ自体を指定すると良いのでは?
PHP_SELF指定が使えると思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

seasoft
投稿日時: 2010/11/13 16:26
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: セッション変数へ共通フラグを入れたい
RFC 的には、action="?" という解もアリですね。

EC-CUBE 2.5 も、この方法を軸に実装を進めています。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

ecbg
投稿日時: 2010/11/15 17:13
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: セッション変数へ共通フラグを入れたい
AMUAMU様、seasoft様ご返信ありがとうございます。

seasoft様、コミュニティー版では多く実装されておりますaction="?"ですが、
正式版ではほとんど見受けれられず、また私の知識が乏しく調べてみたのですが、
EC CUBE上での動きが理解できずにいます。

例えば、ヘッダー部分で
<form name="form" method="post" action="?">とした場合、
postの値はどのphpで受け取れるのでしょうか?

度々の質問申し訳ございません。どうぞよろしくお願いいたします。
ゲスト
投稿日時: 2010/11/15 17:54
対応状況: −−−
Re: セッション変数へ共通フラグを入れたい
引用:

seasoftさんは書きました:
RFC 的には、action="?" という解もアリですね。

EC-CUBE 2.5 も、この方法を軸に実装を進めています。

RFCの何番か、分かりますか?

ぐぐってみたけれど、探しきれず。。。
ecbg
投稿日時: 2010/11/16 17:31
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: セッション変数へ共通フラグを入れたい
AMUAMU様

actionに<!--{$smarty.server.PHP_SELF}-->を利用して、
該当ページのphpファイルへフラグを渡すことができたのですが、
例えば商品一覧ですとGETで渡っていたカテゴリIDが消失してしまうため、
単にlist.phpへアクセスした際のページに推移してしまいます。

こういった場合、どうすることで元のカテゴリIDや商品IDを生かした形で、
フラグだけ渡してリロードすることができるでしょうか?

アドバイスなど頂ければ幸いです。
AMUAMU
投稿日時: 2010/11/16 17:37
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: セッション変数へ共通フラグを入れたい
REQUEST_URI等を使う感じですかね?
あと念のためですがescape処理をちゃんと入れないと危険ですのでお気を付け下さい


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

ecbg
投稿日時: 2010/11/16 17:44
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: セッション変数へ共通フラグを入れたい
至急ご返信頂きましてありがとうございます!
「REQUEST_URI」調べてみます!

また、escape処理の追加についてもご指摘頂きましてありがとうございます。とても勉強になります!
ecbg
投稿日時: 2010/11/16 17:51
対応状況: 解決済
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: セッション変数へ共通フラグを入れたい
AMUAMU様

仰っていたとおりREQUEST_URIで行けました!!
ありがとうございました!!
ecbg
投稿日時: 2010/11/16 20:09
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: セッション変数へ共通フラグを入れたい
AMUAMU様

先ほどの方法で以下のような単純formでsubmitをすると問題なく
$_POST['flag']に値1または2が取れるようになったのですが、
このsubmitボタン2つを画像ボタンに変更するにはどのようにしたら良いでしょうか?

<form name="form" method="post" action="<!--{$smarty.server.REQUEST_URI|escape}-->">
<input type="submit" name="flag" value="1" />
<input type="submit" name="flag" value="2" />
</form>

javascripにしたりと、色々試しているのですが画像ボタンにすると上手くPOSTの値が取得できません。

どうかお分かりでしたらご教授頂けないでしょうか?

---追記---
どうも上手くいかないのはIEのようです。
<form name="form" method="post" action="<!--{$smarty.server.REQUEST_URI|escape}-->">
<input type="image" src="flag1.gif" name="flag" value="1" />
<input type="image" src="flag2.gif" name="flag" value="2" />
</form>
とするとFireFoxでは問題なく値がとれます。
IEは画像ボタンの座標を見てしまうようです。
javascriptとかで上手くいかないものですかね…

もしjavascriptにお詳しい方いらしたら、アドバイス頂けないでしょうか?
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,432名です
総投稿数は110,087件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1305
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.