Alffallen Posted November 16, 2006 Share Posted November 16, 2006 Hello. I'm working on a web page for my WoW Guild. Though I've ran into a problem with my login script..The login script appears to work fine.. Invalid users get sent straight to visitors.php. Tough the problem comes when a Valid user logs in. It is supposed to send the user to index.php. Which is supposed to check the user lvl which if >0 will allow the user to view the page. The problem is that no matter the set user lvl of the user signing in. The index will allways reject the user and send them to denied.php. I will include both the login php and the verification code on the index. SO if anyone can help me figure out why this isn't working properly.login.php[quote]<?php require_once(Connections/drac.php'); ?><?php// *** Validate request to login to this site.session_start();$loginFormAction = $_SERVER['PHP_SELF'];if (isset($accesscheck)) { $GLOBALS['PrevUrl'] = $accesscheck; session_register('PrevUrl');}if (isset($_POST['username'])) { $loginUsername=$_POST['username']; $password=$_POST['password']; $MM_fldUserAuthorization = "userlevel"; $MM_redirectLoginSuccess = "index.php"; $MM_redirectLoginFailed = "denied.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_drac, $drac); $LoginRS__query=sprintf("SELECT username, password, userlevel FROM users WHERE username='%s' AND password='%s'", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); $LoginRS = mysql_query($LoginRS__query, $drac) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = mysql_result($LoginRS,0,'userlevel'); //declare two session variables and assign them $GLOBALS['MM_Username'] = $loginUsername; $GLOBALS['MM_UserGroup'] = $loginStrGroup; //register the session variables session_register("MM_Username"); session_register("MM_UserGroup"); if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); }}?><form action="<?php echo $loginFormAction; ?>" method="POST"> Username: <input name="username" type="text"> Password: <input name="password" type="password"><input name="" type="submit"></form>[/quote]Index.php[quote]<?phpsession_start();$MM_authorizedUsers = "2,3,4,1";$MM_donotCheckaccess = "false";// *** Restrict Access To Page: Grant or deny access to this pagefunction isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { // For security, start by assuming the visitor is NOT authorized. $isValid = False; // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. // Therefore, we know that a user is NOT logged in if that Session variable is blank. if (!empty($UserName)) { // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. // Parse the strings into arrays. $arrUsers = Explode(",", $strUsers); $arrGroups = Explode(",", $strGroups); if (in_array($UserName, $arrUsers)) { $isValid = true; } // Or, you may restrict access to only certain users based on their username. if (in_array($UserGroup, $arrGroups)) { $isValid = true; } if (($strUsers == "") && false) { $isValid = true; } } return $isValid; }$MM_restrictGoTo = "denied.php";if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) { $MM_qsChar = "?"; $MM_referrer = $_SERVER['PHP_SELF']; if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&"; if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0) $MM_referrer .= "?" . $QUERY_STRING; $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer); header("Location: ". $MM_restrictGoTo); exit;}?>[/quote] Link to comment https://forums.phpfreaks.com/topic/27494-problems-with-a-restrict-access-code/ Share on other sites More sharing options...
Orio Posted November 16, 2006 Share Posted November 16, 2006 Instead of:session_register("MM_Username");session_register("MM_UserGroup");You should give them a value-$_SESSION['MM_Username'] = $loginUsername;$_SESSION['MM_UserGroup'] = $loginStrGroup; Orio. Link to comment https://forums.phpfreaks.com/topic/27494-problems-with-a-restrict-access-code/#findComment-125722 Share on other sites More sharing options...
Alffallen Posted November 16, 2006 Author Share Posted November 16, 2006 Thanks works perfect now. Link to comment https://forums.phpfreaks.com/topic/27494-problems-with-a-restrict-access-code/#findComment-125746 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.