从下面代码中的表单链接的任何文件都会导致页面抛出此错误:
禁止
您无权访问此服务器上的/savetodb.php。
此外,尝试时遇到404 Not Found错误 使用ErrorDocument来处理请求。
代码:
<div id="form">
<?php
$result = mysql_query("SELECT * FROM textdb WHERE id=1")
or die(mysql_error());
$fields = mysql_fetch_assoc($result);
?>
<form action="savetodb.php" method="post">
<p><a href="#">Text from DB One</a><br></p>
<br /><?php echo"<input name=\"one\" type=\"text\" id=\"one\" value=\"" .$fields['one']. "\"/>"; ?>
<br /><br />
<p><a href="#">Text from DB 2</a><br></p><br />
<?php echo"<input name=\"two\" type=\"text\" id=\"two\" value=\"" .$fields['two']. "\">"; ?>
<br /><br />
<p><a href="#">Text from DB 3</a><br></p><br /><?php echo"<input name=\"three\" type=\"text\" id=\"three\" value=\"" .$fields['three']. "\">"; ?>
<br /><br />
<input name="submit" type="submit" value="Save"></form>
</div>
我是否遗漏了代码中可能导致此问题的内容?文件权限设置为655(我的服务器的默认值,不允许使用777)。
表单将数据从数据库导入到可编辑字段,然后单击“保存”时,应将该信息保存回数据库。单击“保存”时,浏览器会显示“禁止错误”。
请不要指出我应该使用PDO声明,我还在学习:/
问题不在于代码,而在于使用名为modsecurity的服务器插件。它现在被我的主机禁用并且完美运行!如果您遇到类似错误,请与您的主人联系,为您节省几天的问题!
答案 0 :(得分:4)
有一些可能的原因:
答案 1 :(得分:0)
错误404表示找不到文件。
确保路径正确并检查.htaccess
中的重写规则答案 2 :(得分:0)
很抱歉,这是modsecurity的一个问题,因为表单中有HTML,它阻止了文件的运行。
我的主人现在解决了很奇怪的问题。
如果以后有人遇到同样的问题,我会把它留在这里。谢谢你的帮助!