【发布时间】:2020-08-02 05:41:42
【问题描述】:
我在表单中有一个 HTML 选择块,它应该在提交时发送一些数据。
整个数据库连接工作正常,提交按钮的 If- 语句也是如此。 当我只包括 回声“测试”; 它完美地工作并给了我字符串。
但是当我包括该行时
echo $_POST['Semester'];
即使我只是把它写到一个变量中
$testvar = $_POST['Semester'];
它不起作用。 我尝试重命名变量和更改值,但每次单击提交时,都会出现 503 can't current can't handle this request 错误。
是否有我看不到的愚蠢错误,或者这可能是我的 Webhost (Strato.de) 的问题?
我尝试更改 php.ini 文件,但找不到任何可以帮助解决我的问题的内容。 我还用 Strato 更改了安全设置,所以一般来说,接受 Post 查询,也允许使用用户脚本。
我尝试做一个最小的工作示例,当我取消注释 $_POST 行时,它停止工作。没有它,它确实如此。
[顺便说一句,这是一个phpBB网站的用户脚本,这就是为什么前面有所有数据库的东西]
<form method="POST">
<select name="Semester">
<option value="test">choice</option>
<option value="test">choice2</option>
</select>
<input name="submit" type="submit" value="ok">
</form>
<!-- PHP -->
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'config.' . $phpEx);
//Datenbank scheiss
$db = new mysqli('rdbms.strato.de', $dbuser, $dbpasswd, $dbname);
if ($db->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if(isset($_POST['submit'])){
//echo $_POST['Semester'];
//$chd= $_POST['child'];
echo 'test';
//echo $pari;
}
?>
<!-- ENDPHP -->
【问题讨论】:
-
添加
print_r($_POST);以查看您的页面实际收到的内容。并检查您的日志以了解服务器端发生了什么。 -
谢谢您的回答。问题是,不幸的是,503 没有记录在错误日志中。
printr给出了很多随机的东西,有什么特别值得我看的吗?如果我输入printr($_POST['Semester'])我仍然会收到503,并且浏览器也没有给我任何有价值的信息。