ECSHOP中实现ajax弹窗登录
来源:互联网 发布:淘宝优质网店怎么搜 编辑:程序博客网 时间:2024/06/07 20:25
弹窗登录上一篇博客已介绍:地址
http://blog.csdn.net/likyqp/article/details/61619196
下面介绍如何实现AJAX弹窗登录。
在ECSHOP中的user.php中有处理用户登录的请求。
/* 处理 ajax 的登录请求 */elseif ($action == 'signin'){ include_once('includes/cls_json.php'); $json = new JSON; $username = !empty($_POST['username']) ? json_str_iconv(trim($_POST['username'])) : ''; $password = !empty($_POST['password']) ? trim($_POST['password']) : ''; $captcha = !empty($_POST['captcha']) ? json_str_iconv(trim($_POST['captcha'])) : ''; $result = array('error' => 0, 'content' => ''); $captcha = intval($_CFG['captcha']); if (($captcha & CAPTCHA_LOGIN) && (!($captcha & CAPTCHA_LOGIN_FAIL) || (($captcha & CAPTCHA_LOGIN_FAIL) && $_SESSION['login_fail'] > 2)) && gd_version() > 0) { if (empty($captcha)) { $result['error'] = 1; $result['content'] = $_LANG['invalid_captcha']; die($json->encode($result)); } /* 检查验证码 */ include_once('includes/cls_captcha.php'); $validator = new captcha(); $validator->session_word = 'captcha_login'; if (!$validator->check_word($_POST['captcha'])) { $result['error'] = 1; $result['content'] = $_LANG['invalid_captcha']; die($json->encode($result)); } } if ($user->login($username, $password)) { update_user_info(); //更新用户信息 recalculate_price(); // 重新计算购物车中的商品价格 $smarty->assign('user_info', get_user_info()); $ucdata = empty($user->ucdata)? "" : $user->ucdata; $result['ucdata'] = $ucdata; $result['content'] = $smarty->fetch('library/member_info.lbi'); } else { $_SESSION['login_fail']++; if ($_SESSION['login_fail'] > 2) { $smarty->assign('enabled_captcha', 1); $result['html'] = $smarty->fetch('library/member_info.lbi'); } $result['error'] = 1; $result['content'] = $_LANG['login_failure']; } die($json->encode($result));}
改成
/* 处理 ajax弹窗登录请求 */elseif ($action == 'ajax_login'){ include_once('includes/cls_json.php'); $json = new JSON; $username = !empty($_POST['username']) ? json_str_iconv(trim($_POST['username'])) : ''; $password = !empty($_POST['password']) ? trim($_POST['password']) : ''; $result = array('error' => 0, 'content' => ''); $captcha = intval($_CFG['captcha']); if ($user->login($username, $password)) { update_user_info(); //更新用户信息 recalculate_price(); // 重新计算购物车中的商品价格 $smarty->assign('user_info', get_user_info()); $ucdata = empty($user->ucdata)? "" : $user->ucdata; $result['ucdata'] = $ucdata; $result['content'] = $smarty->fetch('library/member_info.lbi'); } else { $result['error'] = 1; $result['content'] = $_LANG['login_failure']; } die($json->encode($result));}
将
// 不需要登录的操作或自己验证是否登录(如ajax处理)的act$not_login_arr =array('login','act_login','register','act_register','act_edit_password','get_password','send_pwd_email','password', 'signin', 'add_tag', 'collect', 'return_to_cart', 'logout', 'email_list', 'validate_email', 'send_hash_mail', 'order_query', 'is_registered', 'check_email','clear_history','qpassword_name', 'get_passwd_question', 'check_answer');
改成
// 不需要登录的操作或自己验证是否登录(如ajax处理)的act$not_login_arr =array('ajax_login','login','act_login','register','act_register','act_edit_password','get_password','send_pwd_email','password', 'signin', 'add_tag', 'collect', 'return_to_cart', 'logout', 'email_list', 'validate_email', 'send_hash_mail', 'order_query', 'is_registered', 'check_email','clear_history','qpassword_name', 'get_passwd_question', 'check_answer');
在openLginDiv()方法里,将newDiv.innerHTML的HTML代码修改下,在登录框标签里加个ajaxLoginSubmit()方法。
//生成层内内容 newDiv.innerHTML = '<form id="ajax_loginForm">用户名:<br><input type="text" name="username" id="ajax_username"/>密码:<br><input type="password" name="password" id="ajax_password"/><br><br><button type="button" onclick="ajaxLoginSubmit()">登录</button> <button type="button" onclick="closeLoginForm()">关闭</button></form>';
再自己写两个方法即可
function ajaxLoginSubmit(){ var username = document.getElementById('ajax_username').value;var password = document.getElementById('ajax_password').value;Ajax.call('user.php?act=ajax_login','username='+username+'&password='+password,ajaxLoginResponse,'POST','JSON');}function ajaxLoginResponse(result){ if(result.error == 0){ alert('登录成功');}else{ alert('登录失败');}return false;}
0 0
- ECSHOP中实现ajax弹窗登录
- ECSHOP中制作登录弹窗框
- ecshop中ajax.call使用 [ECshop]
- ecshop中ajax.call使用
- ecshop 会员登录注册业务逻辑实现
- 单点登录实现Ajax登录
- ecshop中ajax调用原理-讲座8
- ecshop中ajax的调用原理
- ecshop中ajax的调用原理
- ecshop中ajax的调用原理
- ECSHOP中ajax的调用原理
- ecshop中ajax的调用原理
- ECSHOP中ajax的调用原理
- Ajax实现安全登录
- Ajax实现安全登录
- AJAX实现用户登录
- Ecshop实现微信第三方授权扫码登录
- Struts+Ajax实现登录验证
- 摄像机标定02_线阵摄像机(Camera Calibration)
- 问题 C: 神奇的数字9 【数学】
- ACM-时区间时间的转换
- JavaScript中的预解析顺序(优先级)
- 通用缓存框架,JAD-CACHE用srping集成Memcache
- ECSHOP中实现ajax弹窗登录
- JQuery 的简单介绍
- 淘宝TDDL——Matrix层的分库分表配置与实现
- 从C代码出发写系统服务
- iOS回顾笔记(05) -- 手把手教你封装一个广告轮播图框架
- 主备角色switch
- [BZOJ2688]Green Hackenbush(概率dp)
- Next Greater Element II
- 004