我想修改我的代码以在登录后重定向到不同的页面,具体取决于用户角色,我只能进行一次通用重定向,无论角色如何。我需要有关如何实现它的帮助。
这是我的用户数据库表:
userID fullname email role password
1 Tester one test@gmail.com N ALSJALDDJ6464!JJLSK
2 Tester two tester@gmail.com C @ALSJAL5656DDJJJLSK
我的PHP登录代码在这里:
<?php
error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors', 1);
// establishing the MySQLi connection
// Create connection
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "timewise";
$conn = new mysqli($localhost, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// checking the user
if(isset($_POST['btnLogin'])){
$email = mysqli_real_escape_string($conn,$_POST['uemail']);
$pass = mysqli_real_escape_string($conn,$_POST['upass']);
//$pass = crypt($pass);
$sel_user = "SELECT * FROM users WHERE email='$email' AND pass='$pass'";
$run_user = mysqli_query($conn, $sel_user);
if (!$sel_user) {
die(mysqli_error($conn));
}
$check_user = mysqli_num_rows($run_user);
if($check_user>0){
$user_data = mysqli_fetch_assoc($run_user);
if ($user_data["role"] == 'C') {
//redirect somehwere
print '<script type="text/javascript">window.location = "index.html"</script>';
} else {
//redirect somehwere else
print '<script type="text/javascript">window.location = "form-wizard.html"</script>';
}
} else {
// more code here
echo '<center><span style="color:#801b1b; border:1px solid #e5a3a3; background:#ffcfcf; padding:5px;">Email or password is not correct, please try again!</span></center>';
}
}
?>
我需要帮助将登录用户重定向到不同的页面,具体取决于角色,即
普通用户为“N”,公司用户为“C”。
答案 0 :(得分:0)
所以,让我们开始吧:
$sel_user = "SELECT * FROM users WHERE email='$email' AND pass='$pass'";
$run_user = mysqli_query($conn, $sel_user);
// this will never happens as $sel_user is a string and it's not empty
// I suppose you need to check `$run_user`
if (!$sel_user) {
die(mysqli_error($conn));
}
$check_user = mysqli_num_rows($run_user);
if($check_user>0){
// here you need $run_user data
// use fetch_ methods, for example `fetch_assoc()`
$user_data = mysqli_fetch_assoc($run_user);
// print_r($user_data) to check keys
if ($user_data["role"] == 'C') {
//redirect somehwere
} else {
//redirect somehwere else
}
} else {
// more code here
}
答案 1 :(得分:0)
you could use the header('location: /file')
function to immediately redirect to a different page according to user position in some if/else
or have the link as a variable and it would be header("location: " . $file)
. I hope that this is helpful!