我通过结帐注册了客户的问题。
结账过程结束后,客户登陆“我的帐户”,但一旦注销,他就无法访问“我的帐户”#34;此消息"无效的登录名或密码"显示。
通过“忘记密码”按钮设置新密码似乎可以解决客户的问题。 (但如果密码可以直接使用而不通过此步骤,那将会很棒。)
我认为(但我不确定)通过billing.phtml设置的密码未正确存储。
通过"注册"按钮保存正确,不会遇到任何问题。
我有模板/持久/客户/表格/ register.phtml:
<li class="fields">
<div class="field">
<label for="password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
<div class="input-box">
<input type="password" name="password" id="password" title="<?php echo $this->quoteEscape($this->__('Password')) ?>" class="input-text required-entry validate-password" />
</div>
</div>
<div class="field">
<label for="confirmation" class="required"><em>*</em><?php echo $this->__('Confirm Password') ?></label>
<div class="input-box">
<input type="password" name="confirmation" title="<?php echo $this->quoteEscape($this->__('Confirm Password')) ?>" id="confirmation" class="input-text required-entry validate-cpassword" />
</div>
</div>
</li>
在template / Customer / form / resetforgottenpassword.phtml中:
<li class="fields">
<div class="field">
<label for="password" class="required"><em>*</em><?php echo $this->__('New Password'); ?></label>
<div class="input-box">
<input type="password" class="input-text required-entry validate-password" name="password" id="password" />
</div>
</div>
<div class="field">
<label for="confirmation" class="required"><em>*</em><?php echo $this->__('Confirm New Password'); ?></label>
<div class="input-box">
<input type="password" class="input-text required-entry validate-cpassword" name="confirmation" id="confirmation" />
</div>
</div>
</li>
在template / persistent / checkout / onepage / billing.phtml中,我认为是罪魁祸首:
<li class="fields" id="register-customer-password">
<div class="field">
<label for="billing:customer_password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
<div class="input-box">
<input type="password" name="billing[customer_password]" id="billing:customer_password" title="<?php echo $this->quoteEscape($this->__('Password')) ?>" class="input-text required-entry validate-password" />
</div>
</div>
<div class="field">
<label for="billing:confirm_password" class="required"><em>*</em><?php echo $this->__('Confirm Password') ?></label>
<div class="input-box">
<input type="password" name="billing[confirm_password]" title="<?php echo $this->quoteEscape($this->__('Confirm Password')) ?>" id="billing:confirm_password" class="input-text required-entry validate-cpassword" />
</div>
</div>
</li>
我对billing.phtml进行了多次修改,例如:
<label for="password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
<input type="password" name="password" id="password" title="<?php echo $this->quoteEscape($this->__('Password')) ?>" class="input-text required-entry validate-password" />
<input type="password" name="password" title="<?php echo $this->quoteEscape($this->__('Confirm Password')) ?>" id="confirmation" class="input-text required-entry validate-cpassword" />
但我仍然导致同样的结果。 我正在使用SUPEE 9652修补CE 1.9.3.1。
如何在结帐时正确保存客户?
答案 0 :(得分:0)
我有4个关于lib / Varien / Crypt / Mcrypt.php的错误
Warning: mcrypt_generic_init(): Key size is 0 in /lib/Varien/Crypt/Mcrypt.php on line 94
Warning: mcrypt_generic_init(): Key length incorrect in /lib/Varien/Crypt/Mcrypt.php on line 94
Warning: mcrypt_generic_deinit(): 495 is not a valid MCrypt resource in /lib/Varien/Crypt/Mcrypt.php on line 135
Warning: mcrypt_module_close(): 495 is not a valid MCrypt resource in /lib/Varien/Crypt/Mcrypt.php on line 136
我认为在我的服务器(https://magento.stackexchange.com/a/35888)上PHP Mcrypt中缺少与模块相关的模块。但事实并非如此,因为在同一个Magento安装的根目录下的文件夹中安装一个新的CE 1.9.3.1正在使用相同的服务器配置和Mcrypt.php正常工作。此外,正确设置了在注册表格(?并使用相同的加密?)时设置的密码。
我会打开一个更精确的新帖子。
@urfusion,谢谢你的建议,我正在查看system.log的错误结尾(认为它是在顶部写的......)
修改强>
我明白了,解决方案在这里: