2011-12-19 16 views
1

Magentoセッションが外部ページ(同じドメイン)でうまく機能していません。私はこの仕事を得ることができないMagentoセッションが外部ページ(同じドメイン)で動作しません

require_once ("../app/Mage.php"); 
umask(0); 
Mage::app("default"); 

Mage::getSingleton("core/session", array("name" => "frontend")); 
$session = Mage::getSingleton("customer/session"); 


if($session->isLoggedIn()){ 
    //do it 
} else { 
    // Transfer them to a login page 
    header("Location: http://www.mydomain.com/customer/account/login/"); 
} 

、私はすべてのどこにでもお薦めや何の仕事をチェックしています。仕事へのリダイレクト用

exit; 

+1

本当に同じドメインにいるのですか? 「www.domain.com」は「domain.com」と等しくないことに注意してください。 –

+0

はい同じドメインにありますか? – xomero

答えて

0

ちょうどあなたの情報のために、ヘッダ()関数の後に、別の行があるはずです。

(どうやらこれはコメントではなく、答えに多く所属し、私はeverwhereまだコメントする権限を持っていません。)

+0

はい、ありがとうございます。行方不明ですが、私はまだセッションに問題があります。 – xomero

0

あなたは、彼らは似ています、代わりにこれらの行を試みるが、私のために働くことができますon Magento 1.5.1 ..

require_once ("../app/Mage.php"); 
umask(0); 
Mage::app("default"); 
if(Mage::getSingleton('customer/session')->isLoggedIn()){ 
    //do it 
} 
else { 
    // Transfer them to a login page 
    header("Location: http://www.mydomain.com/customer/account/login/"); 
} 
+0

いいえ、そのコードは動作していません。私は言いたいことを忘れてしまった。 1.6.1.0 – xomero

0

あなたの問題はすでにセッションが開始されているため、マゼンタセッションを開始してそこからデータを取得しようとしていないことです。 Mage_Core_Model_Session_Abstract_Varienの内部を見ると、最初に$ _SESSION変数が設定されているかどうかを確認し、そうであれば戻ります。デバッガのブレークポイントをそこに設定し、わからないかどうかを確認することができます。 他のセッションを閉じて、マゼンタセッションを開始してデータを取得することも、同じセッションを共有することもできます。

関連する問題