我使用下面這個代碼登錄並重定向到帳戶頁面從外部Magento的帳戶頁面:Magento的:登錄並重定向到
<?php
include('store/app/Mage.php');
Mage::app();
if($_POST && $_POST['login']['username'] && $_POST['login']['password']){
$email = $_POST['login']['username'];
$password = $_POST['login']['password'];
$session = Mage::getSingleton('customer/session');
try {
$log = $session->login($email, $password);
$session->setCustomerAsLoggedIn($session->getCustomer());
$customer_id = $session->getCustomerId();
$send_data["success"] = true;
$send_data["message"] = "Login Success";
$send_data["customer_id"] = $customer_id;
Mage::getSingleton('customer/session')->loginById($customer_id);
Mage_Core_Model_Session_Abstract_Varien::start();
}catch (Exception $ex) {
$send_data["success"] = false;
$send_data["message"] = $ex->getMessage();
}
}else {
$send_data["success"]=false;
$send_data["message"]="Enter both Email and Password";
}
echo json_encode($send_data);
?>
,然後從那裏我將AJAX請求文件,我使用此代碼:
if(data.success){
window.location = "http://domain.com/store/customer/account/"
}
但它始終顯示用戶註銷,雖然我確實得到正確的客戶ID以及成功。
你能告訴我我的代碼中缺少什麼嗎?因爲我能夠獲取客戶名稱,但仍然在我訪問商店時顯示用戶仍然未登錄。 – atif
我認爲您沒有完全登錄,只調用會話存儲信息(創建瀏覽器登錄會話並存儲在magento會話)有更多的原因。首先你必須使用會話開始。其次,你必須設置存儲並且必須有管理會話,加載magento核心會話控制器。等..只是使用功能在我的答案,它會工作... – Martin
我確實收到消息「..用戶loged作爲用戶名」,但仍然當我試圖訪問商店帳戶頁面,它將我重定向到登錄頁面。 – atif