2012-09-27 2 views
1

전체 액세스 권한을 부여한 관리자가 두 명인 경우에만 테이블을 만들었습니다. 내가 모든 사용자로 로그인 할 수 있습니다,세션이 PHP에서 작동하지 않습니다.

<td> 
    <?php 
     if($_SESSION['admin']=='admin') 
     { 
    ?> 
    <a href='Subscribers.php'>&nbsp;Subscribers</a> 
    <?php 
     } 
    ?> 
</td> 
<td> 
    <a href='CreateRelease.php'>&nbsp;Releases</a> 
</td> 

sample.php에서, 나는 session_start을 썼다, 그러나이 sample.php에서

session_start(); 
$query="select * from tbl_user where username='$username' and password='$password'"; 
$result=mysql_query($query); 
$count=mysql_num_rows($result); 
if($count>0) 
{   
    $row=mysql_fetch_row($result); 
    if($row[0]=='1') 
    { 
     $_SESSION['admin']='admin'; 
    } 
    else 
    { 
     $_SESSION['admin']='user'; 
    } 
    header("Location:http://localhost/test/sample.php"); 
} 

는이 같은 액세스 할 수 있습니다. Releases 옵션 만 표시됩니다.

제안 사항?

+0

두 코드 샘플이 동일한 파일입니까? –

+0

@GlaciesofPacis : 다른 파일을 사용하지 않습니다. – VSK

+0

tb_user의 첫 번째 열은 무엇입니까? – xdazz

답변

0

session_start();sample.php이라고 했으므로 다른 곳에 문제가 있습니다.

테이블 tb_user의 첫 번째 열은 username(admin or user)입니다.

0 또는 1입니까? 여기

// $row[0] is the value of username you said, how could it be 1? 
if($row[0]=='1') { 
+1

아이디 username password | 1 관리자 **** | 2 사용자 **** 테이블은 다음과 같습니다 – VSK

+0

@ user1059746 그래서'$ row [0]'에 대해 무엇을 얻었습니까? 세션을 올바르게 설정 했습니까? – xdazz

2

세션이 필요한 모든 스크립트에서 우선 session_start()으로 전화하십시오.

+1

나는 session_start()를 사용하고있다. 두 파일 모두에서 – VSK

+0

두 번째 스크립트에서'var_dump ($ _ SESSION)'을 수행하고 안에 무엇이 있는지 확인하십시오. – moonwave99

0

문제가있어 :

if($row[0]=='1') 

이 $ 행의 첫 번째 열에서 보이는 그렇지 않을 경우, 여기에 문제가 있습니다. 귀하의 의견에 따르면, 이것은 사용자 이름입니다. 무엇을 사용해야하는지는 사용자가 관리자인지 아닌지를 결정하는 데 사용됩니다.

// Something like this 
if($row['isAdmin'] == 1) 
관련 문제