为了账号安全,请及时绑定邮箱和手机立即绑定

用cookie区分用户

用cookie区分用户

PHP
回首忆惘然 2023-09-15 17:06:55
如果用户名和密码正确,它将重定向到 profile.php。我在 profile.php 中使用 cookie 来分隔用户。是否合适?如果没有,请告诉我如何编码。如果可能的话我不想使用 get 方法。<?php  include('config.php');  $cookie = isset($_COOKIE['cookie']);  if($cookie) { header('Location: profile.php'); }  else {    echo '<link rel="stylesheet" href="../css/user.css">          <link rel="stylesheet" href="../css/all.css">          <div id="center"><div id="login-area">Login Here<br><br><form method="post">          <i class="fa fa-user"></i>          <input type="text" id="usr-pass" autocomplete="off" placeholder="Username" name="user"><hr><br>          <i class="fa fa-lock"></i>          <input type="password" id="usr-pass" autocomplete="off" placeholder="Password" name="pass"><hr><br>          <input type="submit" id="login" value="Login" name="login">          </form></div></div>    ';    if(isset($_POST['login'])) {      if(!empty($_POST['user']) && !empty($_POST['pass'])) {        $user = $_POST['user'];        $pass = $_POST['pass'];        $query = 'SELECT password FROM user WHERE username = ?';        $stmt = $conn -> prepare($query);        $stmt -> bind_param('s', $user);        $stmt -> execute();        $stmt -> store_result();        if($stmt -> num_rows > 0) {          $stmt -> bind_result($password);          $stmt -> fetch();          if($password == $pass) {            setcookie('cookie', $user);            header('Location: profile.php');          } else { header('Location: login.php'); } //echo 'wrong password';        } else { header('Location: login.php'); } //echo 'account not exist';      } else { header('Location: login.php'); } //echo 'input both username & password';    }  }?>
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

使用会话。


在文件顶部,在发送任何输出之前,添加session_start();


用户通过身份验证后(在数据库中找到用户名和密码),设置一个会话变量,如下所示:$_SESSION['logged_id'] = true;


对于人们必须登录才能查看的每个页面,将其放在session_start();文件顶部,您可以检查该人是否已登录:


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

    echo 'Logged in!;

}

或者


<?php if (isset($_SESSION['logged_in'])) : ?>

    Logged in

<?php endif ?>

查看完整回答
反对 回复 2023-09-15
  • 1 回答
  • 0 关注
  • 63 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信