登录验证
时间:2010-10-12
来源:互联网
我在前台页面还没有点登录,就可以直接打开文件,以下是我的登录代码,请高手看下是不是少了点什么
<?php
$conn=mysql_connect("localhost","root","");
mysql_query("set names 'utf-8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
mysql_select_db("xinwen",$conn);
$username = trim($_POST['username']);
// 取得客户端提交的密码并用md5()函数时行加密转换以便后面的验证
$password = md5($_POST['password']);
// 设置一个错误消息变量,以便判断是否有错误发生
// 以及在客户端显示错误消息。 其初值为空。
$errmsg = '';
if (empty($username)){ header("Location:index.php");}
if (!empty($username)) { // 用户填写了数据才执行数据库操作
//---------------------------------------------------------
// 数据验证, empty()函数判断变量内容是否为空
if (empty($username)) {
$errmsg = '数据输入不完整'; header("Location:index.php");
}
//---------------------------------------------------------
if(empty($errmsg)) { // $errmsg为空说明前面的验证通过
// 调用mysqli的构造函数建立连接,同时选择使用数据库'test'
$db = @new mysqli("localhost", "root", "", "xinwen");
// 检查数据库连接
if (mysqli_connect_errno()) {
$errmsg = "数据库连接失败!<br>\n";
}
else {
// 查询数据库,看用户名及密码是否正确。
$sql = "SELECT * FROM t_user WHERE f_username='$username' AND f_password='$password'";
//echo $sql;
$rs = $db->query($sql);
// $rs->num_rows判断上面的执行结果是否含有记录,有记录说明登录成功。
if ($rs && $rs->num_rows > 0) {
// 使用session保存当前用户
session_start();
$_SESSION['uid'] = $username;
$_SESSION['admin']== true ;
// 在实际应用中可以使用前面提到的重定向功能转到主页
$errmsg = "登录成功!";
header("Location: fenxi.php"); //跳向首页
exit;
// 更新用户登录信息
$ip = $_SERVER['REMOTE_ADDR']; // 获取客户端的IP
$sql = "UPDATE t_user SET f_logintimes = f_logintimes + 1,";
$sql .= "f_lasttime=now(), f_loginip='$ip' ";
$sql .= " WHERE f_username='$username'";
$db->query($sql);
}
else {$_SESSION["admin"] = false;
$errmsg = "用户名或密码不正确,登录失败!";
header("Location: admin.php");
}
// 关闭数据库连接
$db->close();
}
}
}
?>
<?php
$conn=mysql_connect("localhost","root","");
mysql_query("set names 'utf-8'");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");
mysql_select_db("xinwen",$conn);
$username = trim($_POST['username']);
// 取得客户端提交的密码并用md5()函数时行加密转换以便后面的验证
$password = md5($_POST['password']);
// 设置一个错误消息变量,以便判断是否有错误发生
// 以及在客户端显示错误消息。 其初值为空。
$errmsg = '';
if (empty($username)){ header("Location:index.php");}
if (!empty($username)) { // 用户填写了数据才执行数据库操作
//---------------------------------------------------------
// 数据验证, empty()函数判断变量内容是否为空
if (empty($username)) {
$errmsg = '数据输入不完整'; header("Location:index.php");
}
//---------------------------------------------------------
if(empty($errmsg)) { // $errmsg为空说明前面的验证通过
// 调用mysqli的构造函数建立连接,同时选择使用数据库'test'
$db = @new mysqli("localhost", "root", "", "xinwen");
// 检查数据库连接
if (mysqli_connect_errno()) {
$errmsg = "数据库连接失败!<br>\n";
}
else {
// 查询数据库,看用户名及密码是否正确。
$sql = "SELECT * FROM t_user WHERE f_username='$username' AND f_password='$password'";
//echo $sql;
$rs = $db->query($sql);
// $rs->num_rows判断上面的执行结果是否含有记录,有记录说明登录成功。
if ($rs && $rs->num_rows > 0) {
// 使用session保存当前用户
session_start();
$_SESSION['uid'] = $username;
$_SESSION['admin']== true ;
// 在实际应用中可以使用前面提到的重定向功能转到主页
$errmsg = "登录成功!";
header("Location: fenxi.php"); //跳向首页
exit;
// 更新用户登录信息
$ip = $_SERVER['REMOTE_ADDR']; // 获取客户端的IP
$sql = "UPDATE t_user SET f_logintimes = f_logintimes + 1,";
$sql .= "f_lasttime=now(), f_loginip='$ip' ";
$sql .= " WHERE f_username='$username'";
$db->query($sql);
}
else {$_SESSION["admin"] = false;
$errmsg = "用户名或密码不正确,登录失败!";
header("Location: admin.php");
}
// 关闭数据库连接
$db->close();
}
}
}
?>
作者: xudongli 发布时间: 2010-10-12
是你没写验证文件吧!你需要验证的文件里加 登录判断了吗!
作者: ldwz 发布时间: 2010-10-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28