如果用户是注册后第一次登录,我会尝试将用户重定向到其他页面。
例如:如果用户是第一次登录,那么用户需要重定向到xyz.php页面,如果不是,那么用户应该登录到index.php页面。从来没有做过这样的事,所以我对此一无所知。
我知道我的代码容易受到SQL注入的攻击。你不需要指出这一点。这只是为了测试
<?php
session_start();
include 'db-connection.php';
$user_email = mysqli_real_escape_string($connection, $_POST['user_email']);
$user_pass = mysqli_real_escape_string($connection, $_POST['user_pass']);
$select_user = "select * from users where user_email='$user_email'";
$select_user_query = mysqli_query($connection, $select_user);
$user_email_count = mysqli_num_rows($select_user_query);
if($user_email_count) {
$user_result_array = mysqli_fetch_array($select_user_query);
$user_db_pass = $user_result_array['user_pass'];
$user_id = $user_result_array['user_id'];
$user_name = $user_result_array['user_name'];
if($user_pass === $user_db_pass ) {
$_SESSION['user_id'] = $user_id;
$_SESSION['user_name'] = $user_name;
echo "<span class='alert alert-success'>Login Successful</span>";
header("location: index.php");
}
} else {
echo "<span class='alert alert-danger'>You have entered wrong password</span>";
}
} else {
echo "<span class='alert alert-danger'>No Record Found</span>";
}
?>
谢谢
通常,您需要在users
表中为last_login_date
、number_of_logins
或has_logged_in
设置一列,然后在他们登录时与之进行比较。
因此,在users
表中,要么将has_logged_in
默认为0
(零(,要么在插入新记录时确保将值设置为0
。
登录时,您将添加一个额外的if
语句来检查此值并更新has_logged_in
字段:
if ($user_result_array['has_logged_in'] == 0) {
mysqli_query('UPDATE users SET has_logged_in = 1 WHERE user_id = '.$user_id);
header("location: xyz.php");
die();
}
我想你明白要点了。