手机版

php中如何同时使用会议和甜饼干来保存用户登录信息

时间:2021-11-18 来源:互联网 编辑:宝哥软件园 浏览:

同时使用会议和甜饼干来保存用户登录信息1、数据库连接配置页面:connectvars.php复制代码代码如下:php/数据库的位置定义(' DB_HOST ',' 127。0 .0 .1 ');//用户名定义(' DB_USER ',' root ');//口令定义(' DB_PASSWORD ',' 19900101 ');//数据库名定义(' DB_NAME ',' test ');2、登录页面:logIn.php复制代码代码如下:php/插入连接数据库的相关信息需要一次‘connectvars.php//’开启一个会话session _ start();$ error _ msg=//如果用户未登录,即未设置$_SESSION['user_id']时,执行以下代码if(!isset($ _ SESSION[' user _ id ']){ if(isset($ _ POST[' submit ']){//用户提交登录表单时执行如下代码$dbc=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB _ NAME);$ user _ username=MySQL _ real _ escape _ string($ DBC,trim($ _ POST[' username ']));$ user _ password=MySQL _ real _ escape _ string($ DBC,trim($ _ POST[' password ']));if(!空($user_username)!空($user_password)){ //MySql中的SHA()函数用于对字符串进行单向加密$query='SELECT user_id,username FROM失配_ user WHERE username=' $ user _ username ' AND ' .password=SHA(' $ user _ password ')';$ data=MySQL _ query($ DBC,$ query);//用用户名和密码进行查询,若查到的记录正好为一条,则设置会议和COOKIE,同时进行页面重定向if(MySQL _ num _ rows($ data)=1){ $ row=MySQL _ fetch _ array($ data);$ _ SESSION[' user _ id ']=$ row[' user _ id '];$ _ SESSION[' username ']=$ row[' username '];setcookie('user_id ',$row['user_id'],time()(60 * 60 * 24 * 30));setcookie('username ',$row['username'],time()(60 * 60 * 24 * 30));$ home _ URL=' loged.php标题(' Location: ' .$ home _ URL);}else{//若查到的记录不对,则设置错误信息$error_msg="抱歉,您必须输入有效的用户名和密码才能登录。";} }else{ $error_msg='抱歉,您必须输入有效的用户名和密码才能登录;} }}else{//如果用户已经登录,则直接跳转到已经登录页面$ home _ URL=' loged.php标题(' Location: ' .$ home _ URL);}?超文本标记语言标题标题不匹配-登录/标题链接rel='样式表type=' text/CSS ' href=' style。CSS '/头体h3Msimatch -登录/h3!-通过$_SESSION['user_id']进行判断,如果用户未登录,则显示登录表单,让用户输入用户名和密码- ?php if(!isset($ _ SESSION[' user _ id ']){ echo ' p class='错误' '。$error_msg ./p ';- $_SERVER['PHP_SELF']代表用户提交表单时,调用自身服务器端编程语言(专业超文本预处理器的缩写)文件表示“具有…形状的”: cruciform方法='post '操作='?PHP echo $ _ SERVER[' PHP _ SELF '];'字段集登录/图例标签为=“用户名”用户名:/标签输入类型=' text ' id=' username ' name=' username ' value='?php if(!空($ user _ username))回显$ user _ username;/br/标签为=' password ' password :/标签输入类型=' password ' id=' password ' name=' password ' password '/字段集输入类型='提交'值='登录'名称='提交'/表单?php }?/body/html效果图

3、登入页面:loged.php复制代码代码如下:php/使用会话内存储的变量值之前必须先开启会话session _ start();//如果会话没有被设置,查看是否设置了cookieif(!isset($ _ SESSION[' user _ id ']){ if(isset($ _ COOKIE[' user _ id '])isset($ _ COOKIE[' username ']){//用甜饼干给会议赋值$ _ SESSION[' user _ id ']=$ _ COOKIE[' user _ id '];$ _ SESSION[' username ']=$ _ COOKIE[' username '];}}//使用一个会话变量检查登录状态if(已设置($ _ SESSION[' username ']){ echo '您以身份登录。$_SESSION['username'].br/';回声“logOut.php”注销(.$_SESSION['username'].)/a ';}/**在已登录页面中,可以利用用户的会议如$_SESSION['username'],* $_SESSION['user_id']对数据库进行查询,可以做好多好多事情*/?效果图

4.注销会话和cookie页面:logOut.php(注销后重定向至lonIn.php)。复制的代码如下:Php/**同时注销会话和cookie的页面*///即使注销,也必须先启动会话才能访问会话变量session _ start();//使用session变量检查登录状态if(isset($_SESSION[' user _ id '])){//要清除SESSION变量,请将$ _ SESSION超级全局变量设置为空数组$ _ SESSION=array();//如果有会话cookie,通过将过期时间设置为If(isset($ _ cookie[session _ name()])){ setcookie(session _ name(),'',time ()-3600)之前1小时删除;}//使用内置的session_destroy()函数调用取消session _ destroy();}//同时将每个cookie的过期时间设置为过去的某个时间,以便系统删除,时间设置为cookie秒(' user _ id ','',time()-3600);setcookie('username ','',time()-3600);//location header将浏览器重定向到另一个页面$ home _ url=' logIn.php标题(' Location: '。$ home _ URL);

版权声明:php中如何同时使用会议和甜饼干来保存用户登录信息是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。