php 中如何记住用户名和密码呢?
前台页面:
前台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" onfocus="passwordFocus();"> </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="自动登录" onclick="dealAutoSubmit(this);"> <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"> </span></label> </td> <td valign="middle"> <img onclick="get_randfunc(this);" 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; }
相关推荐
在PHP编程中,实现“记住用户名和密码”的功能通常涉及到几个关键的技术:MySQL数据库存储、Cookie和Session管理,以及HTML和CSS的交互设计。以下是对这些知识点的详细说明: 1. **MySQL数据库存储**: 当用户成功...
在PHP中实现记住用户名和密码功能是通过使用Cookie来完成的。Cookie是存储在用户浏览器中的一段小数据,可以用来跟踪用户信息或保存用户的偏好设置。在Web开发中,当用户需要在多个页面之间保存一些信息时,可以使用...
防止浏览器记住用户名和密码是确保用户隐私安全的重要措施,尤其对于涉及敏感信息的网站来说更为关键。虽然HTML的`autocomplete="off"`属性本应阻止浏览器的自动填充功能,但某些现代浏览器可能忽略这一设置,仍然会...
1. **创建登录表单**:在`index.php`中,创建一个登录表单,其中包含用户名和密码输入框,以及一个勾选框用于选择“记住密码”。 ```html <form action="login.php" method="post"> 用户名: 密码: ...
当用户在登录页面选择“记住用户名”选项时,服务器会通过设置cookie将用户名保存在用户浏览器中。之后,每当用户再次访问该网站,PHP脚本就能够读取cookie,获取用户名,并自动填充到登录框中。 在实现这一功能时...
如果用户选择了记住用户名,`setCookie()`函数将设置一个名为`username`的cookie,有效期为30天(`time()+3600*24*30`)。否则,如果用户没有选择记住,将会清除这个cookie(通过设置过期时间为过去的时间`time()-10...
3. **登录页面**:用户输入用户名和密码,PHP脚本将这些数据发送到服务器,然后执行SQL SELECT查询来查找匹配的用户。 4. **登录处理**:如果找到匹配的用户,将使用`password_verify()`函数比较用户输入的密码与...
这里的PHP代码`isset($_COOKIE[""])`用于检查用户是否已勾选“记住我”,如果已勾选,则将用户名预填入输入框。 接下来是`loginaction.php`文件,它的主要职责是接收来自`login.php`的数据,连接到数据库,并验证...
PHP使用cookies实现用户登录,第一次登录需要输入用户名和密码,第二次直接记住用户名和密码直接登录!
"PHP cookie 实现记住登录状态" PHP 中的 Cookie 是一种非常常用的技术,用于存储用户的登录状态,实现记住登录功能。下面我们将详细介绍如何使用 PHP 实现记住登录状态。 一、检查用户是否登录 在 PHP 中,我们...
在IT行业中,搭建PHP、Apache和MySQL环境是开发Web应用程序的基础步骤。对于初学者或遇到配置问题的开发者来说,这可能会成为一个挑战。...记住,实践是提升技能的关键,多尝试,多学习,你会变得越来越熟练。
创建一个新的用户和数据库,确保记住用户名和密码。 6. **配置PHP连接MySQL**: 在`php.ini`文件中找到并取消注释以下行,设置正确的MySQL服务器信息: ``` extension=php_mysql.dll extension=php_mysqli.dll ...
在PHP中发送带有附件的电子邮件是一项常见的任务,尤其在网站需要提供下载链接或者发送报告时。这个主题将深入探讨如何实现这一功能,并基于提供的...记住,良好的错误处理和日志记录对于调试和维护是至关重要的。
如果用户之前选择了记住密码,并且cookie尚未过期,系统会从cookie中读取用户名,并将其存入session中,以继续跟踪用户的登录状态。 当用户完成操作准备登出时,推出页面的PHP脚本会清除session中的用户名和密码...
"可选择Email和用户名登录的代码"提供了一种解决方案,允许用户通过他们的Email地址或用户名来登录,提高了用户体验,因为用户可能更容易记住自己的用户名或常用的Email地址。这种登录方式的实现涉及到前端界面设计...
同时,系统可能会实现记住登录状态的功能,通过使用cookies或session来维持用户状态。 "注册管理PHP"这部分涉及对用户注册信息的维护和管理。这可能包括功能如:找回密码(通常通过发送验证码到用户邮箱)、激活...
在PHP编程中,发送电子邮件是一项常见的任务,尤其在网站通知、用户注册验证、忘记密码重置等场景下。...记住,实际使用时,你需要将上述示例中的SMTP服务器配置信息替换为你自己的邮件服务提供商的设置。
在网页开发中,确保用户名的唯一性是至关重要的,它能防止用户注册重复的用户名,保护数据的准确性和完整性。...记住,实际项目中可能需要添加更多的错误处理和用户体验优化,例如显示加载动画、设置验证频率限制等。