-4

pls help me with code i dont get where is the error

$userrole = $row['type'];

if ($userrole = "admin") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../index.php"); 
} elseif ($userrole = "encoder") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../mencode.php"); 
} elseif ($userrole = "verifier") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../mverify.php"); 
} else ($userrole = "approver") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../mapproved.php"); } 

thnx in advance

3 Answers3

0

replace in your code

   $userrole = $row['type'];

if ($userrole == "admin") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../index.php"); 
} elseif ($userrole == "encoder") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../mencode.php"); 
} elseif ($userrole == "verifier") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../mverify.php"); 
} elseif ($userrole == "approver") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../mapproved.php"); } 
Sagar Bhut
  • 659
  • 6
  • 24
0

You made the fundamental error of all new PHP developers:

  • if($a=$b) is an assignment statement. It sets $b to whatever is on the right.
  • if($a==$b) is a comparison statement. It compares two values without changing anything.

Change your statements to ($userrole=='…').

Manngo
  • 8,349
  • 6
  • 50
  • 74
0

Try this

$userrole = $row['type'];

if ($userrole == "admin") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../index.php"); 

} elseif ($userrole == "encoder") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../mencode.php"); 

} elseif ($userrole == "verifier") {
        $_SESSION['name'] = $row['name'];
        header("Location: ../mverify.php"); 

} else {
        $_SESSION['name'] = $row['name'];
        header("Location: ../mapproved.php"); } 

Your if statements have to be comparison operators == and not assignment operators =.

Also elseis a catch all, so you don't provide it with comparison values like you would with if or else if. I am a c++ programmer, but I've done a little PHP.

Trevin Corkery
  • 601
  • 5
  • 13