gpt4 book ai didi

php - 表单提交后未收到帖子变量

转载 作者:行者123 更新时间:2023-11-29 15:14:42 25 4
gpt4 key购买 nike

所以我有一个具有以下形式的 HTML 文件:

    <!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="pringles.php" method="post">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>

然后我有一个名为 pringles.php 的 PHP 文件,其中包含以下代码:

<?php 
// server, username, password, db, port
$servername = "********";
$username = "*******";
$password = "********";
$dbname = "*********";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

foreach ($_POST as $key => $value) {
$postdata2 = $postdata2 . "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value) . "////";
}

$sql = "INSERT INTO `test`(`text`) VALUES ('{$postdata2}')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
?>

但是,当我提交表单时,它会在我的数据库中插入一行,但文本字段为空。由于某种原因,后变量没有被发送。此外,我还有另一个 .php 文件,其中表单运行良好。它们位于同一个文件夹和所有内容中,因此我不明白为什么这不起作用。

谢谢!

最佳答案

问题最终出现在 .htaccess 中,因为 URL 被重定向以删除 .php,这导致 POST 数据丢失的问题。这是代码:

RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [NC,L]

这是 RewriteCond %{REQUEST_METHOD} !POST 解决了问题。

关于php - 表单提交后未收到帖子变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59804188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com