很多站长朋友们都不太清楚php用户验证中心,今天小编就来给大家整理php用户验证中心,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php简单的登陆验证用户名和密码怎么写 2、 PHP用户登陆验证问题 3、 PHP用户验证的问题 4、 php登录系统身份验证 5、 php+mysql用户登录后验证if(!isset($_SESSION['userid'])) php简单的登陆验证用户名和密码怎么写给你个实例参考一下php编写登陆验证用户名和密码吧。
登录页面
login.html 负责收集用户填写的登录信息
在CODE上查看代码片派生到我的代码片
<html>
<head>用户登录</head>
<form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck(this)">
<p>
<label for="username" class="label">用户名:</label>
<input id="username" name="username" type="text" class="input" />
<p/>
<p>
<label for="password" class="label">密 码:</label>
<input id="password" name="password" type="password" class="input" />
<p/>
<p>
<input type="submit" name="submit" value=" 确 定 " class="left" />
</p>
</form>
</html>
登录处理
login.PHP 负责处理用户登录与退出动作。
在CODE上查看代码片派生到我的代码片
<?php
//登录
if(!isset($_POST['submit'])){
exit('非法访问!');
}
$username = htmlspecialchars($_POST['username']);
$password = MD5($_POST['password']);
//包含数据库连接文件
include('conn.php');
//检测用户名及密码是否正确
$check_query = mysql_query("select userid from user_list where username='$username' and password='$password' limit 1");
if($result = mysql_fetch_array($check_query)){
//登录成功
session_start();
$_SESSION['username'] = $username;
$_SESSION['userid'] = $result['userid'];
echo $username,' 欢迎你!进入 <a href="my.php">用户中心</a><br />';
echo '点击此处 <a href="login.php?action=logout">注销</a> 登录!<br />';
exit;
} else {
exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}
//注销登录
if($_GET['action'] == "logout"){
unset($_SESSION['userid']);
unset($_SESSION['username']);
echo '注销登录成功!点击此处 <a href="login.html">登录</a>';
exit;
}
?>
用户中心
my.php 是用户中心,作为用户登录检测。
在CODE上查看代码片派生到我的代码片
<?php
session_start();
//检测是否登录,若没登录则转向登录界面
if(!isset($_SESSION['userid'])){
header("Location:login.html");
exit();
}
//包含数据库连接文件
include('conn.php');
$userid = $_SESSION['userid'];
$username = $_SESSION['username'];
$user_query = mysql_query("select * from user_list where userid = '$userid' limit 1");
$row = mysql_fetch_array($user_query);
echo '用户信息:<br />';
echo '用户ID:',$userid,'<br />';
echo '用户名:',$username,'<br />';
echo '<a href="login.php?action=logout">注销</a> 登录<br />';
?>
conn.php,用于连接数据库
在CODE上查看代码片派生到我的代码片
<?php
$conn = mysql_connect("127.0.0.1","root","") or die("数据库链接错误".mysql_error());
mysql_select_db("info_db",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
?>
PHP用户登陆验证问题错误提示:你发送了空内容。
原因:你发送语句是放在了引用的文件里。而SQL语句却写在下面。运行情况如下。
程序运行时。引用了 connect.php 文件并运行了里面的内容。也就是说。已经发送了 SQL 语句。而这时的 $sql 可是什么也没有。。因为你写在了下面。。
当程序运行到 $row=mysql_fetch_array($result); 的时候。 $result 里面什么也没有。因为 mysql_query 发送的时候什么也没发出。跟本没办法返回什么结果给你。
解决方法:把 connect.php 里的
$result=mysql_query($sql)
or die ('数据库执行失败:'.mysql_error());
删除。移到 PHP 文件 $sql=""; 下面。问题即可解决。
PHP用户验证的问题退出时,会设置 SESSION['isLogon']=false 或者 删除掉这个key.
而针对用户直接关闭时.这点,就需要你对SESSION原理有一个比较深入的了解.
你后面两个问题.都是属于对于SESSION原理不够了解造成的.
我简单讲讲吧.详细的可以参阅一下脚本语言对于SESSION的管理部分章节.
HTTP的SESSION 一般都是通过一个 SESSIONID 来得到并处理的.
每一次HTTP请求,浏览器会把COOKIE附带给请求数据包.而SESSIONID(一般来说,允许COOKIE时) 都会附带在COOKIE里.
如:
Cookie: PHPSESSID=000010010100010; 这样的.
服务器在收到请求后... 如果面页需要处理SESSION,那么,服务器会自动去SESSION存储的地方取以 000010010100010 为key 数据.然后载入到内存里供脚本使用..
这样.脚本要得到正确的值.必须要保证两个.
A SESSIONID正确.也就是上面的 key.
B 服务器的存储数据有值.
对于你的问题:
直接关闭浏览器.时,下一次HTTP请求,是否能正常得到 SESSION['isLogon']的值呢? 也就取决于上面两点.A SESSIONID正确.B服务器端有值.
先说问题3:
15分钟(通常服务器端有个SESSION生存周期)后,服务器会自动清理存储空间里过期的值. 也就是保证中.B. 15分钟后,即使你的Key正确.而服务器也不能正确返回SESSION值. OK,15分钟后的自动退出,也就不难做到了.
再说问题1
直接关闭(而非正确退出),这个你就需要对浏览器端关于Cookie的管理有个正确的了解. 一般的COOKIE设置是与浏览器进程有关的. 也就是说.你关闭网页后,这个网页当前的COOKIE(部分),在下一次打开网页时,就消失了.
那么,当你不关闭网页时,可以拿到正确的Key (正确的COOKIE), 当你关闭网页,再打开时,COOKIE没有了.(Key不正确了)那么,你还能得到正常的 SESSION['isLogon'] 那就是天大的BUG了.
时间关系,上面只是肤浅地讲了一下. 更深入的了解需要你对HTTP协议及HTTP数据的流程有一个详细的知识积累.
Good Luck!
php登录系统身份验证login.html
<form id="form1" name="form1" method="post" action="checklogin.php">
<table width="400">
<tr>
<th width="27%" scope="row">用户名</th>
<td width="73%"><input name="user_name" type="text" id="user_name" /></td>
</tr>
<tr>
<th scope="row">密码</th>
<td><input name="user_pwd" type="password" id="user_pwd" /></td>
</tr>
<tr>
<th scope="row">请填写答案 </th>
<td><input name="yzm" type="text" id="yzm" size="5" />
123</td>
</tr>
<tr>
<td colspan="2" scope="row"><div align="center">
<input type="submit" name="Submit" value=" 登录 " />
</div></td>
</tr>
</table>
</form>
checklogin.php
<?php
session_start();
require_once("include/class/Mysql.class.php");
require_once("include/class/FuncAdmin.class.php");
require_once("include/class/Users.class.php");
$db = new Mysql();
$db->getConnection(1);
$db->select_db();
$db->query("set names gb2312");
$f = new FuncAdmin();
if(!empty($_POST['Submit'])){
//判断登录
$user_name = $_POST['user_name'];
$user_pwd = $_POST['user_pwd'];
$yzm = $_POST['yzm'];
//加强验证
//此处很重要但没写出呢cxmcook
if(empty($user_name) || empty($user_pwd)){
$f->alert_back("用户名与密码不能为空!");
}
$user = new Users();
$sql = $user->get_select_sql(" where user_name='".$user_name."' and user_pwd='".$user_pwd."' ");
$rs = $db->query($sql);
$row = $db->fetch_array($rs);
//var_dump($row);
//die("<hr>");
$rownum = $db->num_rows($rs);
//die('=========='.$rownum);
if( $rownum >0 ){
//$row = $db->fetch_array($rs);
$_SESSION['admin'] = 'admin';
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['user_name'] = $row['user_name'];
$_SESSION['user_realname'] = $row['user_realname'];
$_SESSION['user_last_logintime'] = $row['user_last_logintime'];
$_SESSION['user_last_loginIp'] = $row['user_last_loginIp'];
$_SESSION['user_loginnum'] = $row['user_loginnum'];
//header("Location:index.php");
echo "<script>
alert('登录成功!".$_SESSION['user_realname']."');
location='index.php';
</script>";
}else{
$f->admin_tip("用户名或密码错误!");
}
}
?>
php+mysql用户登录后验证if(!isset($_SESSION['userid']))session_start(); 必须在页面开头
session_start();前不能有内容输出
检查session_id每次是否一至
关于php用户验证中心的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php用户验证中心 php中验证码如何实现登录验证的详细内容...