php中存储用户ID和密码到mysql数据库的方法
程序员文章站
2022-11-24 12:03:19
创建用户信息表:复制代码 代码如下:create table tbl_auth_user (user_id varchar(10) not null,user_passwo...
创建用户信息表:
复制代码 代码如下:
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');
?>
推荐阅读
-
CentOS实现将php和mysql命令加入到环境变量中的几种方法
-
linux系统下将php和mysql命令加入到环境变量中的方法
-
php中存储用户ID和密码到mysql数据库的方法
-
php上传文件并存储到mysql数据库的方法
-
php上传文件并存储到mysql数据库的方法_PHP
-
MySQL 客户端不输入用户名和密码直接连接数据库的2个方法_MySQL
-
php上传文件并存储到mysql数据库的方法
-
MySQL 客户端不输入用户名和密码直接连接数据库的2个方法
-
CentOS实现将php和mysql命令加入到环境变量中的几种方法
-
mysql-Java Web连接MySql数据库,修改数据库连接类中的用户名和密码没有效果?