php中存储用户ID和密码到mysql数据库的方法_php实例

创建用户信息表:

复制代码 代码如下:

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');
?>

时间: 2024-10-09 04:41:28

php中存储用户ID和密码到mysql数据库的方法_php实例的相关文章

php上传文件并存储到mysql数据库的方法_php技巧

本文实例讲述了php上传文件并存储到mysql数据库的方法.分享给大家供大家参考.具体分析如下: 下面的代码分别用于创建mysql表和上传文件保存到mysql数据库 创建mysql表: <?php $con = mysql_connect("localhost", "", ""); mysql_select_db("w3m"); $sql = "CREATE TABLE updfiles (" . &

在PHP语言中使用JSON和将json还原成数组的方法_php实例

在之前我写过php返回json数据简单实例,刚刚上网,突然发现一篇文章,也是介绍json的,还挺详细,值得参考.内容如下 从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码. 一.json_encode() <?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?> 输出 {"a&

ThinkPHP中url隐藏入口文件后接收alipay传值的方法_php实例

本文实例讲述了ThinkPHP中url隐藏入口文件后接收alipay传值的方法.分享给大家供大家参考.具体方法如下: 现在公司项目的需求变化多端,项目使用的是Thinkphp2.0,而conf.php中设置的URL_MODEL=2,为了兼容.htaccess和隐藏index.php,但在使用一些第三方接口时(例如支付宝或MSN开放平台),他们返回的参数往往含有一个?号,而URL_MODEL=2时,TP会自动将含有?的URL进行转换. 转换前:http://www.xxx.com/index.ph

PHP中使用GD库绘制折线图 折线统计图的绘制方法_php实例

在PHP中,有一些简单的图像函数是可以直接使用的,但大多数要处理的图像,都需要在编译PHP时加上GD库.除了安装GD库之外,在PHP中还可能需要其他的库,这可以根据需要支持哪些图像格式而定.GD库可以在http://www.boutell.com/gd/免费下载,不同的GD版本支持的图像格式不完全一样,最新的GD库版本支持GIF.JPEG.PNG.WBMP.XBM等格式的图像文件,此外还支持一些如FreeType.Type 1等字体库.通过GD库中的函数可以完成各种点.线.几何图形.文本及颜色的

PHP查询数据库中满足条件的记录条数(两种实现方法)_php实例

在需要输出网站用户注册数,或者插入数据之前判断是否有重复记录的时候,就需要获取满足条件的MySQL查询的记录数目. 第一种方法:查询时候直接统计 复制代码 代码如下: $sql="SELECT COUNT(*) AS count FROM TABLE WHERE id='$id'"; $result=mysql_fetch_array(mysql_query($sql)); $count=$result['count']; 第二种方法:先取出,后统计 复制代码 代码如下: $sql=&

web端是否可以使用用户自己线上app的用户id和密码登陆?

问题描述 web端是否可以使用用户自己线上app的用户id和密码登陆? 解决方案 可以,但是需要修改appkey,在ndex.html里面修改

jsp实用户登录页面(如果用户输入用户名或密码三次错误则在规定时间内不能再登录,规定的时间放在txt文本中如【time=10】,用户名密码放在mysql数据库中

问题描述 jsp实用户登录页面(如果用户输入用户名或密码三次错误则在规定时间内不能再登录,规定的时间放在txt文本中如[time=10],用户名密码放在mysql数据库中) 解决方案 解决方案二:该回复于2011-03-21 13:28:54被版主删除解决方案三:该回复于2011-03-21 16:54:46被版主删除

php中对用户信息进行更新执行mysql语句时update无法正确更新

问题描述 php中对用户信息进行更新执行mysql语句时update无法正确更新 这是代码 这个更新语句不知道有没有什么问题 第一个是打印出update的执行结果 是true 证明sql语句能运行,但是不知道是否能达到目的 数据库中的结果,没有更新成功,但是用户名变为了0,密码没有更变成功 请阁下帮忙分析指点一下 解决方案 update语字的格式里,多个字段更新是用逗号分隔,不是用AND进行连接. "update userinfo set username='$newusername', pas

给linux用户的11个高级MySQL数据库面试问题和答案

给linux用户的11个高级MySQL数据库面试问题和答案 我们已经发表了两篇MySQL的文章,非常感谢Tecmint社区的大力支持.这是MySQL面试系列的第三篇文章,并且在面试专栏中排第16. 15个 MySQL 基础面试题,DBA 们准备好了吗? 给中级人员的10个MySQL面试问题 11个MySQL面试问题 因为有大家的支持,我们才能做到现在,感谢你们这一路上对我们的支持.在这篇文章中,我们将主要针对MySQL的实用技巧,讲讲面试中相关的问题. 1. 如何使用SELECT语句找到你正在运