如果用戶名和密碼正確,它將重定向到 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條經(jīng)驗 獲得超4個贊
使用會話。
在文件頂部,在發(fā)送任何輸出之前,添加session_start();
用戶通過身份驗證后(在數(shù)據(jù)庫中找到用戶名和密碼),設(shè)置一個會話變量,如下所示:$_SESSION['logged_id'] = true;
對于人們必須登錄才能查看的每個頁面,將其放在session_start();文件頂部,您可以檢查該人是否已登錄:
if (isset($_SESSION['logged_in'])) {
? ? echo 'Logged in!;
}
或者
<?php if (isset($_SESSION['logged_in'])) : ?>
? ? Logged in
<?php endif ?>
- 1 回答
- 0 關(guān)注
- 106 瀏覽
添加回答
舉報
0/150
提交
取消