【发布时间】:2017-07-01 17:44:39
【问题描述】:
我试图使用 Post 从我的表单中读取一些内容,但即使是来自 https://www.w3schools.com/php/php_forms.asp 的简单示例也不起作用。我自己的代码是这样的:
<form id="eingabe" method="post" action="../php/suche.php">
<input id="suche" name="suche" type="text" size="50px" placeholder="Suche">
<input type="submit" value="Submit">
</form>
suche.php
$rows = array();
if (isset($_POST['suche'])) {
$suche = $_POST['suche'];
$sql= "SELECT * FROM Buch WHERE titel LIKE '%" . $suche . "%' OR autor LIKE '%" . $suche ."%' OR isbn LIKE '%" . $suche ."%' OR genre LIKE '%" . $suche ."%'";
$result=$conn->query($sql);
if ($result->num_rows > 0) {
while ($row=$result->fetch_assoc()) {
$titel = $row['titel'];
$autor = $row['autor'];
$isbn = $row['isbn'];
$genre = $row['genre'];
$preis = $row['preis'];
$bild = $row['image'];
$beschreibung = $row['beschreibung'];
$rows[] = $row;
}
}
}
var_dump($_POST) 始终是array(0) { },但在var_dump($GLOBALS) 中,我可以找到我发送的单词:
array(6) { ["HTTP_RAW_POST_DATA"]=> string(10) "suche=test" ["_GET"]=> array(0) { } ["_POST"]=> array(0) { }...
问题是:
我正在使用 php7.1,但已经尝试过旧版本。 如果我更改为 GET 它可以工作,但我真的需要使用 POST。 我还检查了我的 php.ini,但 POST 已激活并且有 128MB 的空间供使用。 有谁知道为什么 Post 对我不起作用?
PS:我的一个朋友正在使用完全相同的代码,并且对他非常有效,所以它不是代码
【问题讨论】:
-
我认为可能是您的浏览器,因为它可能会导致问题。正如您所说,您的代码在朋友 PC 上运行良好。尝试其他浏览器,因为您的浏览器可能会受到影响。
-
您和您的朋友是否在同一台服务器上运行代码?如果不是,您和您的朋友是否具有相同的服务器配置并重新编写规则?
-
我们工作正常,只有数据库在服务器上?如果这回答了你的问题
-
PHP 是一种服务器端语言,无论运行什么都是您的服务器。
-
所以我们都使用 PHP 版本 7.0.20RC1 运行,甚至使用相同的 php.ini