2014-04-01 5 views
0

편집 : 다른 코드로 수정했습니다. 모든 도움을 주셔서 감사합니다! 당신이 데이터베이스특정 사용자를 어떻게 선택합니까?

$adminLogin = (mysql_query("SELECT `user_id` FROM `userswebsite` WHERE `username` = 'Admin'")); 

    $user_id = mysql_fetch_array($adminLogin);  

    if ($user_id == 13) 
    { 
     $_SESSION['user_id'] = $login; //zet gebruiker sessie 
     header('Location:informatie.php'); //Redirect gebruiker naar "informatie" 
     exit(); 
    } 

    else 
    { 
     $_SESSION['user_id'] = $login; //zet gebruiker sessie 
     header('Location:index.php'); //Redirect gebruiker naar "thuis" 
     exit(); 
    } 
+0

아마도 현재 문제를 설명 할 수 있습니까? 사용자가 로그인하면 어떻게됩니까? 관리자 로그인을하면 어떻게됩니까? 실행 된 쿼리에는 mysql_result()가 있어야합니다. – Tyralcori

+0

사용자가 로그인하면 index.php로 리디렉션되어야합니다. 그러나 관리자가 로그인 할 때 그는 information.php로 리디렉션되어야합니다. 그러나 나는 사용자가 관리자인지 아닌지를 결정하는 방법을 알 수 없다. – Rubenxfd

답변

0

(나는이 질문을 설정하는 방법을 모르는 대답하기) 나는 당신이 PHP에서 초보자 생각

당신의 웹 사이트가 당신이 그것을 관리에 도움이 필요할 수 있습니다 성장함에 따라 좋아, 당신은 다른 답변 이외에이

$rs = mysql_query("SELECT `user_id` FROM `userswebsite` WHERE `username` = 'Admin'"); 
if ($rs && mysql_num_rows($rs) > 0) 
{ 
    $row = mysql_fetch_assoc($rs); 
    $adminlogin = $row['user_id']; 
} 

    if (isset($adminLogin) && $adminLogin == '13') 
    { 
     $_SESSION['user_id'] = $login; //zet gebruiker sessie 
     header('Location:informatie.php'); //Redirect gebruiker naar "informatie" 
     exit(); 
    } 

    else 
    { 
     $_SESSION['user_id'] = $login; //zet gebruiker sessie 
     header('Location:index.php'); //Redirect gebruiker naar "thuis" 
     exit(); 
    } 
+0

무슨 뜻인지 알 겠지만 여전히 informatie.php로 리디렉션됩니다. ( – Rubenxfd

0

에서 기록을 얻기 위해로 MYSQL_ASSOC을 할 필요는 mysql_query 후

+0

도움을 주셔서 감사합니다. 그러나 여전히 informatie.php로 리디렉션됩니다. – Rubenxfd

+0

'var_dump ($ adminLogin) '의 결과는 무엇입니까? – Rupam

0

을 수행해야합니다. "usergroup"이라는 새로운 필드를 추가하는 것이 훨씬 낫습니다. 그런 다음 userswebsite usergroup = "admin"또는 "moderator"에서 *를 선택할 수 있습니다. 그렇게하면 약간의 도움이 필요하다면 관리자 암호를 알려줄 필요가 없습니다.

0

사용자 테이블에 그룹 열이 있으면 여러 사용자 액세스 수준을 유지하는 것이 더 좋을뿐만 아니라 수행하려는 작업을 훨씬 쉽게 수행 할 수 있다고 생각합니다.

define('SITE_NORMAL',0); 
define('SITE_ADMIN',1); 

$sql = mysql_query("SELECT `user_id`, `group_id` FROM `userswebsite` WHERE `username` = 'Admin' AND passwordhash='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'"); 

$row = mysql_fetch_assoc($sql); 
$login = $row['user_id']; 
$groupid = row['group_id']; 

$_SESSION['user_id'] = $login; //zet gebruiker sessie 
$_SESSION['group_id'] = $groupid; 

header('Location:'.($groupid==SITE_ADMIN ? 'informatie.php':'index.php')); 
exit(); 

모든 사용자가 관리자를 만들 수 있습니다이 방법은, 단지 물론 1

에 GROUP_ID을 설정, 당신은 PHP의 MySQL의가 사용되지 않았기 때문에 MySQLi 또는 PDO로 이동해야합니다.

또한 모든 페이지에서 유효한 로그인을 확인하고 있는지 확인하십시오. $ _SESSION 정보가 유효하다고 가정하지 마십시오.

관련 문제