如何在所有页面中保留Magento客户会话?

时间:2015-06-02 13:13:16

标签: magento session

我正在使用自定义php代码创建客户登录。我正在使用API​​调用来创建前端,因此我需要在客户登录后通过所有页面维护登录的会话值。

a.php中的代码

require_once "../magento/app/Mage.php";
Mage::app('default');
umask(0);
Mage::getSingleton('core/session', array('name' => 'frontend'));
$session = Mage::getSingleton('customer/session', array('name' => 'frontend'));

$session->start();
if (!empty($email) && !empty($password )) {
    try {
        $a = $session->login($email, $password );
        $session->setCustomerAsLoggedIn( $session->getCustomer() );
        if ($session->getCustomer()->getIsJustConfirmed()) {
            $this->_welcomeCustomer($session->getCustomer(), true);
        }
    }
}

我可以使用此代码登录,但我需要在所有页面中维护此登录会话。

我试图从其他页面获取登录的用户信息。但我不能。

b.php中的代码

require_once "../magento/app/Mage.php";
umask(0);
Mage::app('default');
Mage::getSingleton('core/session', array('name' => 'frontend'));

$session = Mage::getSingleton('customer/session');
$session->start();
var_dump(Mage::getSingleton('customer/session')->isLoggedIn());


if($session->isLoggedIn()) {
    echo 'User logged In';
} else {
    echo 'User not logged In';
}

在调用页面a.php后,当我在同一浏览器中调用b.php时,我需要使用a.php登录的用户的客户信息?那可能吗?任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

试试这个



    public void RollDice(int NumberOfDice)
    {
        Random numgen = new Random();
        for (int roll = 0; roll <= 10; roll++)
        {
            for (int i = 0; i < NumberOfDice; i++)
            {
                Console.WriteLine(numgen.Next(1, 7) + "\t" + numgen.Next(1, 7));
            }
        }

        Console.ReadLine();

    }
&#13;
&#13;
&#13;

答案 1 :(得分:0)

<?php

require_once "../magento/app/Mage.php";

Mage::app('default');

umask(0);

Mage::getSingleton('core/session', array('name' => 'frontend'));

var_dump(Mage::getSingleton('customer/session')->isLoggedIn()); 
// print true

if(Mage::getSingleton('customer/session')->isLoggedIn()) {
     $customerData = Mage::getSingleton('customer/session')->getCustomer();
      echo $customerData->getId();
      // return customer's id
}