php中存储用户ID和密码到mysql数据库的方法
php中存储用户ID和密码到mysql数据库的方法
发布时间:2016-12-29 来源:查字典编辑
摘要:创建用户信息表:复制代码代码如下:CREATETABLEtbl_auth_user(user_idVARCHAR(10)NOTNULL,us...

创建用户信息表:

复制代码 代码如下:

CREATE TABLE tbl_auth_user (

user_id VARCHAR(10) NOT NULL,

user_password CHAR(32) NOT NULL,

PRIMARY KEY (user_id)

);

INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('theadmin', PASSWORD('chumbawamba'));

INSERT INTO tbl_auth_user (user_id, user_password) VALUES ('webmaster', PASSWORD('webmistress'));

我们将使用相同的html代码来创建登录表单在上述示例中创建的。我们只需要修改登录过程有点。

登录脚本:

复制代码 代码如下:

<?php

// 我们必须永远不会忘记启动会话

session_start();

$errorMessage = '';

if (isset($_POST['txtUserId']) && isset($_POST['txtPassword'])) {

include 'library/config.php';

include 'library/opendb.php';

$userId = $_POST['txtUserId'];

$password = $_POST['txtPassword'];

// 检查用户id和密码组合存在于数据库

$sql = "SELECT user_id

FROM tbl_auth_user

WHERE user_id = '$userId'

AND user_password = PASSWORD('$password')";

$result = mysql_query($sql)

or die('Query failed. ' . mysql_error());

if (mysql_num_rows($result) == 1) {

// sessionthe设置用户id和密码匹配,

// 设置会话

$_SESSION['db_is_logged_in'] = true;

// 在登录后我们转到主页

header('Location: main.php');

exit;

} else {

$errorMessage = 'Sorry, wrong user id / password';

}

include 'library/closedb.php';

}

?>

/ /…相同的html登录表单前一个示例一样

而不是检查用户id和密码对硬编码的信息我们查询数据库,如果这两个存在于数据库使用SELECT查询。如果我们发现一个匹配我们设置会话变量和移动到主页。注意,会话的名字是前缀 “db”使它不同于先前的示例。

在接下来的两个脚本(主要。php和注销。php)代码类似于前一个。唯一的区别是会话名称。这是为这两个的代码

复制代码 代码如下:

<?php

session_start();

//是一个访问这个页面登录呢?

if (!isset($_SESSION['db_is_logged_in'])

|| $_SESSION['db_is_logged_in'] !== true) {

// 没有登录,返回到登录页面

header('Location: login.php');

exit;

}

?>

/ /…这里的一些html代码

复制代码 代码如下:

<?php

session_start();

// 如果用户已登录,设置会话

if (isset($_SESSION['db_is_logged_in'])) {

unset($_SESSION['db_is_logged_in']);

}

// 现在,用户登录,

// 去登录页面

header('Location: login.php');

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类