我不知道我在这里做错了什么,因为我正在努力学习如何处理表单并遵循本教程(http://www.w3schools.com/php/php_forms.asp)到T并仍然无法使其工作。你会看到一些细微的差异,但我一直试图让这个工作在最后一小时,并添加了不同的东西来尝试修复它。
这是我的第一个文件:
<html>
<body>
<form action="data.php" method="post" enctype="multipart/form-data">
Name: <input type="text" name="test"><br>
<input type="submit">
</form>
</body>
</html>
这是我的data.php
<?php
if(isset($_POST['test'])){
$name = $_POST['test']; }
?>
Welcome <?php echo $name; ?><br>
我添加了一个var_dump($ Globals)
'HTTP_RAW_POST_DATA' => string 'test=asdf' (length=9)
'_GET' =>
array (size=0)
empty
'_POST' =>
array (size=0)
empty
'_COOKIE' =>
array (size=1)
'Phpstorm-67f10f2' => string '2e6a5757-50fb-4c36-8bd7-0fe98e66892d' (length=36)
'_FILES' =>
array (size=0)
empty
'_ENV' =>
array (size=0)
empty
'_REQUEST' =>
array (size=0)
empty
'_SERVER' =>
array (size=78)
我很困惑。
提前致谢。
答案 0 :(得分:0)
变量仅设置为$_POST
值(如果存在)但您要求PHP在所有情况下都显示它。
将echo
命令与其他代码一起放在if
语句中。
答案 1 :(得分:0)
请尝试
<?php
if(isset($_POST['test'])){
echo 'Welcome ' . $_POST['test'] . '<br>';
}
?>
答案 2 :(得分:0)
您的表单是正确的..只需编写print_r($_POST)
即可查看发布请求中所包含的所有数据...以及获取测试写入的值
$name=$_POST["test"];
echo $name;
答案 3 :(得分:0)
我能够通过查看与“$ _GET但$ _POST没有相关的各种不同帖子来解决这个问题。
我改变了两件事。
首先,我使用的是wamp,而我的/ root文件夹不在/ www中,而是wamp / root / index.php。
我还在phpstorm中添加了一个解释器,转到FILE | Settings | Build,Exe ... | Deployment并在C:\ wamp \ bin \ php \ php5.5.12中添加了一个本地解释器方向。
不确定哪一个解决了这个问题,但它现在有效。