2016-11-26 129 views
-2

今天我来找你这个问题,因为我一直在不懈地寻求解决这个问题,但没有效果。从我读过的其他主题可能是Web主机上的权限问题,但我实际上已经在几个不同的Web主机上尝试了相同的代码,并在每个主机上都得到相同的错误, “403权限被拒绝”PHP/MySQL 403权限被拒绝

注意:我为主机上的所有文件设置了文件权限为“755”,我也测试了dbcon.php文件,它工作正常。

所引发错误的代码如下

<?php 
 

 
session_start(); 
 

 
require_once("dbcon.php"); 
 

 
if (checkVar($_SESSION['userid'])){ 
 
    
 
    $getRooms = "SELECT * 
 
    \t \t \t FROM chat_rooms"; 
 
    $roomResults = mysql_query($getRooms); 
 
} \t \t 
 

 
?> 
 

 
<!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"> 
 

 
\t <div id="header"> 
 
\t 
 
    \t <h1><a href="/examples/Chat2/">Chat v2</a></h1> 
 
    \t 
 
    \t <div id="you"><span>Logged in as:</span> <?php echo $_SESSION['userid'] ?> (<a href="logout.php">Logout</a>)</div> 
 
    \t 
 
    </div> 
 
    
 
\t <div id="section"> 
 
\t 
 
     <div id="rooms"> 
 
     \t <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']; 
 
\t \t \t \t \t \t // $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> 
 
\t \t \t \t <?php 
 
\t \t \t \t endwhile; 
 
\t \t \t \t ?> 
 
      </ul> 
 
     </div> 
 
    </div> 
 
    
 
</div> 
 

 
</body> 
 

 
</html>

+0

403可以来自任何地方..在'php'端引起403的东西或..它可能是'.htaccess'解释你的项目结构和相关的'.htaccess'可能会给想要帮助的人提供线索。 –

+0

检查网络服务器日志文件 –

+0

据我所知,我没有一个.htaccess文件。正如我上面所说,这也发生在多个主机上。 – Koak

回答

0

你缺少你while循环的一个重要组成部分,它是封闭部分:endwhile;

虽然使用替代的语法是好的,我会建议坚持使用大括号括号的传统方式{ }

因为我无法做进一步的测试,您可能会发现更多的错误。但对于初学者,您需要修复缺失的endwhile;或用开合花括号替换它{ }