2016-03-01 121 views
0

我想修改我的代码以便在登录后根据用户角色重定向到不同的页面,我只能够做出一个通用的重定向,而不管角色。我需要如何实现这一点的帮助。根据用户角色登录重定向到不同的页面后

这是用户的我的数据库表:

userID fullname email    role password 
1  Tester one [email protected]  N  ALSJALDDJ6464!JJLSK 
2  Tester two [email protected] 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

所以,让我们开始:

$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 
} 
+0

我已经试过这种方式,但只有一个重定向工作 – d001

+0

什么是你试过的代码?使用一个pastebin或更新一个问题。 –

+0

它的'正在工作谢谢@u_mulder – d001

0

您可以使用header('location: /file')功能立即根据一些if/else用户位置重定向到不同的页面或有联系的变量,这将是header("location: " . $file) 。我希望这是有帮助的!

相关问题