その他 > その他 > 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
|
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) |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |