バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

その他 > その他 > LC_Page::sendRedirect()の$urlにGETパラメータを渡せない

その他

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nanasess
投稿日時: 2010/2/21 22:53
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2313
Re: LC_Page::sendRedirect()の$urlにGETパラメータを渡せない
この場合は, $_SERVER['QUERY_STRING'] に含まれない GET パラメータを渡したいということですかね?
seasoft
投稿日時: 2010/2/21 2:42
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: LC_Page::sendRedirect()の$urlにGETパラメータを渡せない
貴重な情報をありがとうございます。

今のところの EC-CUBE の標準実装では問題が発生していないようですが、カスタマイズの際に影響を受けるケースも想定されそうですね。

とりあえず、せっかくの情報が埋もれてしまうといけませんので、まずはチケットとして記録しておきました。

http://svn.ec-cube.net/open_trac/ticket/608


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

mmmmm
投稿日時: 2010/2/17 22:14
対応状況: −−−
新米
登録日: 2010/2/3
居住地:
投稿: 7
LC_Page::sendRedirect()の$urlにGETパラメータを渡せない
何処に書けばいいのかわからなかったのでここら辺に。


LC_Page::sendRedirect('hoge.php?a=1')
としてもリダイレクト後のページにGETパラメータを引き継ぐことができません。
結果として、このメソッドをheader()関数として用いることができません。
仕様なのかもしれませんが、少々困ったので解決策を提示しておきます。

function sendRedirect($url, $isMobile = false ) {

 $netURL = new Net_URL($url);

 //GETパラメータを保存しておく
  $queryStringArray=$netURL->querystring;

  //今までの処理…略

  //保存したGETパラメータを追加
   if(is_array($queryStringArray)){
    foreach($queryStringArray as $key=>$val){
     $netURL->addQueryString($key, $val);
    }
   }
  
 //リダイレクト
   header("Location: " . $netURL->getURL());
   exit();
}

ちなみに原因はNet_URL::addRawQueryString()がそれまでのパラメータを全削除するせいです。
明らかにバグだと思うのですが中の人はバグじゃないとか言っています。
http://pear.php.net/bugs/bug.php?id=3942
« 1 (2)
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,809名です
総投稿数は109,972件です

投稿数ランキング

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