我一直在寻找解决问题的时间 . 我发现了几个类似的问题,但很少有这些修复适用于我,到目前为止还没有任何修复 .
我通过帖子表单填充数据库,但数组变空了:
print_r($_POST);
这导致了
数组()
index.php文件的完整代码:
<?php
print_r($_POST);
?>
<!DOCTYPE html>
<html>
<head>
<title> Insert games </title>
</head>
<body>
<form action="index.php" method="post">
<label for="name"> Game Name </label>
<input type="text" id="name" name="name">
<input type="submit" name="submit">
</form>
</body>
</html>
那么应该做的是将 name
作为 $_POST
值发送到我可以打印它的同一个文件 .
它与 $_GET
完美配合,我知道我可以在不使用 $_POST
的情况下制作这个特定的应用程序 . 但是在本项目的后期,我希望能够使用 $_POST
获取更多敏感信息 .
已经有几个调试代码被要求执行其他海报,这些是我在做同样的事情时得到的结果:
var_dump($_POST);
结果是
array(0){}
$data = file_get_contents('php://input');
var_dump($data);
string(30) "name=TestGame&submit=Submit"
中的结果显然可以通过此显示后期数据,但我仍然不知道如何使用此数据以及为什么 $_POST
无法正常工作 .
我在Windows 7上使用Xampp,Apache和MySQL都是活跃的 .
如果有人能给我一些建议,我将非常感激
-Mick
3 回答
尝试输入
action="$_SERVER['PHP_SELF']"
并按提交按钮 .您的代码没有任何问题 .
检查您的Xampp设置 . 您也可以尝试action =“/ index.php” .
我找到了@felixsigl在本网站上另一篇文章中提供的一个很好的临时解决方法:Link
它如下:
这使用
php://input
字符串并将其转换为$ _POST数组,然后可以正常使用该数组 .我希望这可以帮助那些遇到同样问题的人 .
如果有人确实发现为什么$ _POST无法正常工作,请告诉我 .