访问禁止错误
Posted
技术标签:
【中文标题】访问禁止错误【英文标题】:Access Forbidden Error 【发布时间】:2018-01-17 10:47:00 【问题描述】:我正在尝试使用 php 创建分页,尝试每页显示 5 条记录。一切正常,但是当我单击分页链接转到下一页时,它会显示一条错误消息。
禁止访问!
您无权访问请求的对象。它是 服务器读保护或不可读。
如果您认为这是服务器错误,请联系网站管理员。
错误 403
localhost Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
这是我的代码。
<?php
define("SPP", 5);
if(isset($_GET['groupname']) && isset($_GET['uniname']))
/* VARS */
$xpage = 0;
$content = null;
$totalProfile;
$totalPage = 0;
if(isset($_GET['xpage'])) $xpage = $_GET['xpage'];
$start = $xpage*SPP;
$end = $start+SPP;
include("protected/config.php");
include("protected/class.db.php");
include("protected/publicLang.php");
$newSearch = new DB();
$newSearch->query("SELECT username, university,bgroup, (SELECT COUNT(id) FROM donors) AS totalProfile FROM donors WHERE bgroup = :bgroup LIMIT " . $start . ", " . $end . " ");
$newSearch->exec(array(
":bgroup" => $_GET['groupname']
));
$data = $newSearch->fetch();
foreach($data as $row)
$totalProfile = $row['totalProfile'];
$content .= '
<tr>
<td>' . $row['username'] . '</td>
<td>'.$row['university'].'</td>
<td>' . convertBloodIdPublic($row['bgroup']) . '</td>
<td><button class="btn btn-success">Contact</button></td>
</tr> ';
$totalPage = round($totalProfile/SPP);
?>
<div class="container records">
<table>
<tr>
<th>--</th>
<th>--</th>
<th>--</th>
<th>--</th>
</tr>
<?php echo $content ?>
</table>
<ul class="pagination">
<?php
for($i=1; $i<=$totalPage; $i++)
echo '<li><a href="<?php echo ' . $_SERVER['REQUEST_URI'] . '"&xpage"' . $i . ' ?>">' . $i . '</a></li>';
?>
</ul>
【问题讨论】:
您应该能够通过查看您的来源非常清楚地看到您创建链接 URL 的方式是错误的 【参考方案1】:403 表示您不再被授权。您可能需要传递一些身份验证信息,这通常是通过 POSTING 到 URL 来完成,而不是像现在通过一个裸的 hyperlink/ 元素进行的 GET 一样。
我想如果您将代码更改为
<a href="javascript:submit_pagination($i);" >
并在包含的表单中添加一个 HIDDEN 输入元素,并沿线添加一些 javascript
function submit_pagination(i)
document.forms[0].xpage.value = i;
document.forms[0].submit();
我认为它可能会起作用。希望对您有所帮助!
【讨论】:
以上是关于访问禁止错误的主要内容,如果未能解决你的问题,请参考以下文章