设为首页 收藏本站
查看: 794|回复: 0

[经验分享] php 记住用户名

[复制链接]

尚未签到

发表于 2017-3-26 12:11:20 | 显示全部楼层 |阅读模式
  php 中如何记住用户名和密码呢?
  前台页面:
DSC0000.jpg
 前台html代码如下:

<div class="yhxx">
<div>
<label>
<span class="wz">用户名:</span>
<span class="wb">
<input type="text" name="user" value="" class="text">
</span>
</label>
</div>
<div><label><span class="wz">密码:</span>                           
<span class="wb"> <input type="password" name="password" class="text" >
</span></label>
</div>
<div id="remember_pass_div" style="height: 20px">
<!-- 记住密码 -->
<label> <input class="checkbox2" value="remember_pass" name="remember_pass" style="margin-right: 5px;" type="checkbox" label="记住密码" checked="checked">
<span class="checkbox2 cannot_select" style="margin-right: 40px;">记住密码</span>
</label>
<!-- 自动登录 -->
<label> <input class="checkbox2" value="auto_login" name="auto_login" style="margin-right: 5px;" type="checkbox" label="自动登录" >
<span class="checkbox2 cannot_select">自动登录</span>
</label>
</div>
<div style="display:none">                           
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody><tr>
<td style="width:60px;"><span class="wz"> 验证码:</span></td>
<td style=" text-align:left!important; text-align:center; width:130px;"><label><span class="wb"><input type="text" name="yzm" class="text3">&nbsp;</span></label>
</td>
<td valign="middle">
<img  style="padding-top:3px; cursor:pointer;" src="../includes/rand_func.php">
</td>
</tr>
</tbody></table>
</div>
</div>
  提交之后,在后台进行如下处理
  接收前台提交的参数:

$user=trim($_POST["user"]);
$old_password=trim($_POST["password"]);
  如果记住用户名,则保存用户到cookie中:

$cookie_timeout=time()+3600*24*365;
if(!empty($_POST["remember_pass"]))
{
setcookie("username", $user,$cookie_timeout );
setcookie("password", $old_password, $cookie_timeout);
setcookie("remember_pass", true, $cookie_timeout);
//                echo "记住我";
}else{
//                echo "不记住";
setcookie("username", null, $cookie_timeout);
setcookie("password", null, $cookie_timeout);
setcookie("remember_pass", null, $cookie_timeout);
}
if(!empty($_POST["auto_login"]))
{
setcookie("auto_login", true, $cookie_timeout);
}else{
setcookie("auto_login", null, $cookie_timeout);
}
  下次登录时,先从cookie获取用户和密码:

//获取cookie
var username="<?php echo $_COOKIE['username'] ?>";
var password="<?php echo $_COOKIE['password'] ?>";
var remember_pass="<?php echo $_COOKIE['remember_pass'] ?>";
var auto_login="<?php echo $_COOKIE['auto_login'] ?>";
if(com.whuang.hsj.isHasValue(remember_pass) && remember_pass==1){//是否记住密码
if(com.whuang.hsj.isHasValue(username)){//cookie中的用户名不为空
var usernameObj=com.whuang.hsj.$$one('user');
usernameObj.value=username;
}
if(com.whuang.hsj.isHasValue(password)){//cookie中的密码不为空
var passwordObj=com.whuang.hsj.$$one('password');
passwordObj.value=password;
}
$('div input[name=remember_pass]').attr("checked",'true');
}else{
$('div input[name=remember_pass]').attr("checked",null);
}
if(com.whuang.hsj.isHasValue(auto_login) && auto_login==1){//是否自动登录
$('div input[name=remember_pass]').attr("checked",'true');
$('div input[name=auto_login]').attr("checked",'true');
//                document.forms[0].submit();
timingLogin=setTimeout(function(){document.forms[0].submit();},2000);//1秒钟之后自动登录
}
  依赖的js方法:

var dealAutoSubmit=function(this22){
var isChecked=com.whuang.hsj.isCheckcheckbox(this22);
// console.log(isChecked);
if(isChecked){
if(!com.whuang.hsj.isCheckcheckbox("remember_pass")){
com.whuang.hsj.setCheckedCheckboxOne("remember_pass");
}
}
}
/******************************
* select the single checkbox
*/
com.whuang.hsj.setCheckedCheckboxOne = function(checkbox2233) {
if (typeof checkbox2233 == 'string') {
checkbox2233 = com.whuang.hsj.$$one(checkbox2233);
if(checkbox2233==null ||checkbox2233==undefined){
checkbox2233=com.whuang.hsj.$$id(checkbox2233);
}
}
checkbox2233.checked = true;
};
/***
* if is radio ,please use com.whuang.hsj.$$arr
* @param name22
* @returns
*/
com.whuang.hsj.$$one = function(name22) {
if (com.whuang.hsj.isHasValue(name22)) {
var names222=document.getElementsByName(name22);
//alert("names222:"+names222);
//alert("typeof:"+(typeof names222 ));
var className=Object.prototype.toString.call(names222);
var boolean_isArray;
var ieHtmlCollection='[object HTMLCollection]';
if(isIEtest)//if browser is IE
{
boolean_isArray=( className=== '[object Object]') ||(className=== ieHtmlCollection) ||names222 instanceof Array ;
}else
{
boolean_isArray=( className=== '[object Array]') ||(className=== '[object NodeList]'  )||(className==ieHtmlCollection)||names222 instanceof Array||names222 instanceof NodeList;
}
if(names222){
if(boolean_isArray){
return names222[0];
}else{
return names222;//why add [0] ??
}
}else{
return "";
}
} else {
return "";
}
};
  说明:
  com.whuang.hsj.isHasValue 是js方法,用于判断是否有值
  php中判断是否是移动端访问网页
  是否是手机

function is_mobile()
{
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$mobile_agents = Array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi","android","anywhereyougo.com","applewebkit/525","applewebkit/532","asus","audio","au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu","cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ","fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi","htc","huawei","hutchison","inno","ipad","ipaq","ipod","jbrowser","kddi","kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo","mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-","moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia","nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-","playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo","samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank","sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit","tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin","vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce","wireless","xda","xde","zte");
$is_mobile = false;
foreach ($mobile_agents as $device) {
if (stristr($user_agent, $device)) {
$is_mobile = true;
break;
}
}
return $is_mobile;
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-355609-1-1.html 上篇帖子: php面向对象基础知识 下篇帖子: php数据库操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表