zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

2023-06-13 09:14:45 时间

创建用户信息表:

复制代码代码如下:

CREATETABLEtbl_auth_user(
user_idVARCHAR(10)NOTNULL,
user_passwordCHAR(32)NOTNULL,
PRIMARYKEY(user_id)
);
INSERTINTOtbl_auth_user(user_id,user_password)VALUES("theadmin",PASSWORD("chumbawamba"));
INSERTINTOtbl_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="SELECTuser_id
          FROMtbl_auth_user
          WHEREuser_id="$userId"
                ANDuser_password=PASSWORD("$password")";
  $result=mysql_query($sql)
            ordie("Queryfailed.".mysql_error());
  if(mysql_num_rows($result)==1){
     //sessionthe设置用户id和密码匹配,
     //设置会话
     $_SESSION["db_is_logged_in"]=true;
     //在登录后我们转到主页
     header("Location:main.php");
     exit;
  }else{
     $errorMessage="Sorry,wronguserid/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");
?>