Posted in PHP onFebruary 06, 2013
创建用户信息表:
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中存储用户ID和密码到mysql数据库的方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@