扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
一、php可以通过Session,实现用户登录验证。
创新互联公司专注于满洲企业网站建设,成都响应式网站建设公司,商城建设。满洲网站建设公司,为满洲等地区提供建站服务。全流程按需规划网站,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
session习惯上被译为会话,它的设计是为了在一个访问期间在不同的页面间传输数据,以解决http协议无状态的问题。
session_register()函数的作用是注册新的变量,它会在全局变量中增加1个变量到目前的session之中,以后其他页面可以通过session_is_registered()函数检测该session变量是否已经注册。
二、通过session来检测用户登录信息,由两个文件组成,login.php为用户登录页面,checklogin.php用于检测账号、密码和是否登录成功。
具体参考代码如下:
login.php的代码如下:
?php
session_start();//初始化session
if (isset($_SESSION['shili']))
{
header("Location:shili.php"); //重新定向到其他页面
exit();
}
?
script language="javascript"
function checklogin(){
if((login.username.value!="")(login.password.value!=""))
{
return true;//判断用户名和密码不为空,返回TRUE
}
else
{
alert ("昵称或密码不能为空!")
}
}
/script
style type="text/css"
.style1 { font-size: 13px; font-family: "黑体"; font-weight: normal; color: #0099FF; }
/style
div align="center"
form name="login" method="post" action="checklogin.php" onSubmit="return checklogin()"
table width="260" border="1" bgcolor="#D8EFFA"
tr align="center"
td height="30" colspan="2"span class="style1"管理系统登录/span/td
/tr
tr
td width="90" align="center" class="style1"管理员: /td
td width="170" height="20" align="left" valign="middle"input name="username" type="text" id="username" size="20"/td
/tr
tr
td align="center" class="style1"密码: /td
td height="20" align="left" valign="middle"input name="password" type="password" id="password" size="20"/td
/tr
tr
td align="center" class="style1"/td
td height="20" align="center"input type="submit" name="Submit" value="登 录"/td
/tr
/table
/form
/div
checklogin.php的代码如下:
?php
session_start () ; //初始session
if (isset ($_SESSION['shili']))
{
header ("Location:shili.php") ; //重新定向到其他页面
exit ;
} //登录过的话立即结束
$shili_name=$_POST['username'] ; //获取参数
$password=$_POST['password'] ;
//验证管理员名称和密码是否正确,这里采用直接验证,没有连接数据库
if ($shili_name=="mr" and $password=="mrsoft")
{
session_register ("shili") ; //注册新的变量,保存当前会话的昵称
$shili = $shili_name ;
echo "font color=red登录成功!/font" ;
header ("Location:shili.php") ; //登录成功重定向到管理页面
}
else
{
echo "table width='100%' align=centertrtd align=center" ;
echo "账号或密码错误,或者不是管理员账号br" ;
echo "font color=red登录失败!/fontbra href='login.php'请重新输入/a";
echo "/td/tr/table" ;
}
?
shili.php的代码如下:(实验简单验证)
?php
echo "Welcome to My World!";
?
//如果想要对某个页面限制浏览的用户,可以使用同样的方式,只要把如下的代码放在该页面的开头即可:
?php
session_start () ;
if (!isset ($_SESSION['shili'])){
echo "p align=center" ;
echo "font color=#ff0000 size=5strongbig" ;
echo "你没有登录,请a href='denglu.php'登录/a!" ;
echo "/big/strong/font/p" ;
exit () ;
}
?
去掉后台验证码:找到根目录下的phpcms/modules/admin/index.php注释代码如下:
去掉前台登录验证码:找到根目录下的phpcms/modules/member/index.php注释代码如下:
?php
//cookie实现自动登录
error_reporting(0);// 关闭错误报告(浏览页面出现notice可用此法消除)
$user = $_POST['username'];
$pwd = $_POST['password'];
if ($user!=''$pwd!=''){
if($_POST['remmber']==1){
header("Location:");
//转到登录页面
}
setcookie("username",$user,time()+600);//time()+600指600秒后cookie失效
setcookie("password",$pwd,time()+600);
}
?
html
head
titlelogin/title
/head
body
div id="wrapper"
form name="login-form" class="login-form" action="login.php" method="post"
div class="header"
h1Login Form/h1
/div
div class="content"
input name="username" type="text" class="input username" value="?php echo $_COOKIE["username"]; ?" /
input name="password" type="password" class="input password" value="?php echo $_COOKIE["password"]; ?"/
/div
div class="footer"
input type="submit" name="submit" value="Login" class="button" /
/div
/form
/div
/body
/html
?php
if(isset($_POST["username"])){//isset()判断是否为空,不空才执行,0就是空
$username=$_POST["username"];
$password=$_POST["password"];
//$submit=$_POST["submit"];
$con = mysql_connect("localhost","root","root");
if(!$con){
die("db connection is wrong:".mysql_errno());
}
mysql_select_db("db_admin",$con);
//进行输入验证
$sql1 ="select * from register where name ='".$username."'";
$str = mysql_query($sql1);
mysql_close($con);
$buffer_account="";
$buffer_pwd="";
while($user = mysql_fetch_array($str)){
$buffer_account=$user['name'];
$buffer_pwd=$user['pwd'];
}
$value1=strcmp($username,$buffer_account);
$value2=strcmp($password,$buffer_pwd);
if($value1==0$value2==0){
echo "script window.location.href=''/script";
}
else{
echo "scriptalert('you are wrong'); window.location.href=''/script";
}
}
?
?php
$con = mysql_connect("localhost","root","root");
if(!$con){
die("db connection is wrong:".mysql_errno());
}
mysql_select_db("db_admin",$con);
//把数据库里面查询的数据保存到文件里面
$sql = "select * from register";
$result = mysql_query($sql);
$data="";
while($row = mysql_fetch_row($result)){
foreach($row as $v){
$data .=$v;
}
}
file_put_contents("abc.txt",$data);
?
你发的这些代码,只是验证码生成页面!
要去掉验证码验证, 那就要在登陆逻辑处理页面对验证码的验证进行取消, 而不是这里的代码!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流