2015-06-02 94 views
0

我正在使用自定義php代碼創建客戶登錄。我使用API​​調用,用於創建前端,所以我需要保持登錄throughtout所有網頁會話值一旦客戶已經登錄。如何在整個頁面中保留Magento客戶會話?

守則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只會在用戶的客戶信息後?那可能嗎?任何人都可以幫助我嗎?

回答

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 
} 
1

試試這個

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

+0

GETCUSTOMER() 調用此函數在最後 –

+0

喜哈桑·阿里·沙赫扎德, 它的工作..! :)非常感謝您的幫助 – user3755732

+0

它在FF中工作,而不是在Chrome和IE中。 – user3755732

相關問題