2011-05-25 64 views
0

我在admin.php的下面的代码(管理员页某种简单的CMS):PHP - 获取页面响应来自空

<?php 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Pragma: no-cache"); 

//Some work with MySQL, setting $logged boolean and $priv variable (user's privileges) 
//If $_POST['newspost'] set, processing request and setting $status 

<!DOCTYPE html> 
<html> 
<head> 
<!-- some JS and CSS includes --> 
</head> 

<body> 
<div id="adm-content"> 
<h2 id="adm">Settings</h2> 
<p id="news-status"><?php if (!empty($status)) echo $status; ?></p> 

<?php if ($logged && $priv > 0){ ?> //user logged in and is admin 
<p id="adm-status">Hello, <?php echo $_COOKIE['user'] ?></p> 
<!-- some admin forms --> 

<?php 
} 
else if ($priv == 0){ //user logged in and isn't admin 
?> 

<p id="adm-status">Hello, <?php echo $_COOKIE['user'] ?></p> 
<p>You are not admin</p> 

<?php 
} 
else{ ?> 

<!-- login form displayed --> 

?php 
} 
?> 
</body> 

</html> 

一切工作正常,除了第二种情况(用户登录,但不是管理员)。然后显示一个空白页面。正如我在FireBug中看到的,GET admin.php响应是空的。问题可能在哪里?

谢谢你的时间。

+1

我不能看到得到您的代码 – Ibu 2011-05-25 09:51:45

+0

@Ibu :)我喜欢乌尔评论 – Harsh 2011-05-25 09:52:35

+0

不会有任何内容显示是指装载仪的问题.. – Harsh 2011-05-25 09:56:19

回答

0

问题是在处理MySQL的输出,在这段代码:

$priv = mysql_result($qry, 0) or die(mysql_error()); 

一切工作正常,当我重写使用和mysql_fetch_row

$x = mysql_fetch_row($qry); 
$priv = $x[0]; 

觉得奇怪,我这。无论如何,感谢帮助,抱歉没有发布实际问题的代码=)

1
else if ($logged && $priv === 0){ //user logged in and isn't admin 

你应该的var_dump($私法)和真正检查整数是否被通过,如果是使用=== 0,如果$私法是一个字符串,然后使用===“0”。

我总是var_dump()代码,这是成为一个条件的症结,你永远不能说。