Я добавляю информацию о сеансе Magento на пользовательскую страницу, используя следующую структуру кода:
require_once ( "../app/Mage.php" );
umask(0);
Mage::app("default");
Mage::getSingleton("core/session", array("name" => "frontend"));
$session = Mage::getSingleton("customer/session");
$test = array();
//print_r($session);
if($session->isLoggedIn()){
Set some session variables
} //end session check
else {
//They don't belong here. Transfer them to a login page
header("Location: http://www.mydomain.com/customer/account/login/");
}
Большую часть времени он работает отлично, но время от времени кажется, что сессия не загружаетсяинформация иногда.Мой print_r выглядит так:
Mage_Customer_Model_Session Object
(
[_customer:protected] =>
[_isCustomerIdChecked:protected] =>
[_skipSessionIdFlag:protected] =>
[_data:protected] => Array
(
[_session_validator_data] => Array
(
[remote_addr] => an.ip.addr.ess
[http_via] =>
[http_x_forwarded_for] =>
[http_user_agent] => Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 ( .NET CLR 3.5.30729)
)
[session_hosts] => Array
(
[www.mydomain.com] => 1
)
)
[_origData:protected] =>
[_idFieldName:protected] =>
[_isDeleted:protected] =>
)
Но если я оставлю тег header: location включенным, это приведет меня на страницу учетной записи, потому что я вошел в систему.
Кто-нибудь еще испытывал это?Как мне этого избежать?Я в тупике.