問題は次のとおりです。スクリプトを使用して Magento でユーザーを作成し、このユーザーが既に存在する場合はログインしようとしています。
try {
// If new, save customer information
$customer -> firstname = $firstname;
$customer -> lastname = $lastname;
$customer -> email = $email;
$customer -> password_hash = md5($password);
if ($customer -> save()) {
echo $customer -> firstname . " " . $customer -> lastname . " information is saved!";
$customer->setConfirmation(null);
$customer->save();
} else {
echo "An error occured while saving customer";
}
} catch(Exception $e) {
// If customer already exists, initiate login
if (preg_match('/This customer email already exists/', $e)) {
$customer -> loadByEmail($email);
$session = Mage::getSingleton('customer/session');
$session -> login($email, $password);
echo $session -> isLoggedIn() ? $session -> getCustomer() -> getName() . ' is online!' : 'not logged in';
}
}
スクリプトは「ユーザーはオンラインです!」と表示しますが、メイン ページに移動すると、ログインしていないかのようにログイン ボタンが表示されます。ユーザーをログインするにはどうすればよいですか?