我今天带着这个问题来找你,因为我一直在不停地寻找解决这个问题,但却无济于事。从我读过的其他主题可能是网络主机上的权限问题,但我实际上在几个不同的网络主机上尝试了相同的代码,并在每个主机上得到相同的错误,这是; " 403权限被拒绝"
注意:我已将文件权限设置为" 755"对于我主机上的所有文件,我也测试了dbcon.php文件,它运行正常。
抛出错误的代码如下
<?php
session_start();
require_once("dbcon.php");
if (checkVar($_SESSION['userid'])){
$getRooms = "SELECT *
FROM chat_rooms";
$roomResults = mysql_query($getRooms);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Chat Rooms</title>
<link rel="stylesheet" type="text/css" href="main.css"/>
</head>
<body>
<div id="page-wrap">
<div id="header">
<h1><a href="/examples/Chat2/">Chat v2</a></h1>
<div id="you"><span>Logged in as:</span> <?php echo $_SESSION['userid'] ?> (<a href="logout.php">Logout</a>)</div>
</div>
<div id="section">
<div id="rooms">
<h3>Rooms</h3>
<ul>
<?php
while($rooms = mysql_fetch_array($roomResults)):
$room = $rooms['name'];
$query = mysql_query("SELECT * FROM `chat_rooms` WHERE `name` = '$room' ") or die("Cannot find data". mysql_error());
$numOfUsers = $rooms['user_count'];
// $numOfUsers = mysql_num_rows($query);
?>
<li>
<a href="room/?name=<?php echo $rooms['name']?>"><?php echo $rooms['name'] . "<span>Users chatting: <strong>" . $numOfUsers . "</strong></span>" ?></a>
</li>
<?php
endwhile;
?>
</ul>
</div>
</div>
</div>
</body>
</html>
&#13;
答案 0 :(得分:0)
您缺少while循环的重要部分,即结束部分:endwhile;
虽然使用替代语法是可以的,但我建议坚持使用括号括号{ }
来执行此操作。
因为我无法进行进一步测试,您可能会发现更多错误。但是对于初学者来说,你需要修复丢失的endwhile;
或者用开始和结束括号替换它{ }