PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
ok i'm using this code now to redirect the site to a certain page depending on the user's role which is calculated from the username using a SQL query.
<?php
$username = $_POST['username'];
$self = $_SERVER['PHP_SELF'];
$refer = $_SERVER['HTTP_REFERER'];
#if either form field is empty return to the login page
if( ( !$username ) )
{ header( "Location:$referer" ); exit(); }
#connect to MYSQL
$conn = @mysql_connect( "linuxproj", "***", "****" )
or die( "could not connect" );
#select the specified database
$rs = @mysql_select_db ( "db_sn202", $conn )
or die( "could not select database" );
#create the sql query
$sql="select role from users where username='$username'";
#exercute the query
$rs = mysql_query( $sql, $conn )
or die( mysql_error() );
#get number of rows that match username and password
$num = mysql_numrows( $rs );
#if there is a match the login is authenticated
if( $num > 0 )
{ $msq = "Welcome $username - your log-in succeeded"; }
else #or return to login page
{ header( "Location:$referer" ); exit(); }
if ($role == "admin") {
header("HTTP/1.1 301 Moved Permanently");
header ("Location: http://www.ecs.soton.ac.uk/~sn202/admin.php");
header("Connection: close");
}
if ($role == "tech") {
header("HTTP/1.1 301 Moved Permanently");
header ("Location: http://www.ecs.soton.ac.uk/~sn202/tech.php");
header("Connection: close");
}
if ($role == "student") {
header("HTTP/1.1 301 Moved Permanently");
header ("Location: http://www.ecs.soton.ac.uk/~sn202/student.php");
header("Connection: close");
}
if ($role == "test") {
header("HTTP/1.1 301 Moved Permanently");
header ("Location: http://www.ecs.soton.ac.uk/~sn202/test.php");
header("Connection: close");
}
?>
But its doing nothing. Just sitting on roles.php. I'm thinking it may not know what $role is as it is a result of a SQL query and I can't think how to declare it as the result from the sql???
Too tired to think, been sat at a computer for about 14 hours straight now and my brains not working anymore, this is due in tomorrow though, so any help will be much appreciated! cheers.
yeah my brain does this stuff too after 14 hrs lol
i noticed your mispelling some variables
$refer vs $referer
whenever your debugging or even just developing, its always very helpfull to turn error_reporting way up. youll see all undefined variables and undefined indices etc...
try it, you would have found this little bug instantly
Hi yeah, cheers for that, sorted out the variables and turned error reporting on, however its still not doing anything. I added an echo to make sure it was finding user role and it does echo the role, but still doesn't redirect.... Any ideas?