我第一次尝试使用POST方法创建一个简单的表单。问题是当我点击按钮时没有任何回显。 这是我的insert.php文件:
<?php
if(isset($_POSΤ["newitem"])){
echo $itemnew = $_POSΤ["newitem"];
}
?>
<form action="insert.php" method="POST" >
<input type="text" name="newitem">
<input type="submit" value="Save">
</form>
编辑:我尝试了GET方法并且它有效...任何想法为什么会发生这种情况?服务器配置?
新编辑:所以事实证明我将方法切换到GET并且它有效。然后我切换回POST(就像我发布在顶部的代码一样)并且它有效...我不知道为什么会发生这种情况。任何建议?
答案 0 :(得分:1)
您发布的代码完全有效且应该有效。
我猜你没有启用PHP,或者它没有工作。
<?php ... ?>
将浏览器视为一个长的,格式错误的HTML标记,因此忽略它,使效果不可见。
尝试右键单击页面并选择“查看源”。如果你在那里看到你的PHP,那么服务器确实没有处理它。
最可能的原因可能与我的第一段PHP代码有同样的问题:你正在尝试&#34;运行&#34;它直接在您的浏览器中。这不会奏效。您需要将其上传到服务器(或在您的计算机上安装服务器并从那里调用它)
答案 1 :(得分:0)
改为使用!empty($_POST['newitem']
:
if(!empty($_POSΤ["newitem"])){
echo $itemnew = $_POSΤ["newitem"];
}
答案 2 :(得分:0)
尝试以下方法:
if($_POST) {
if(!empty($_POST['newitem'])) {
$itemnew = $_POSΤ['newitem'];
echo $itemnew;
// or leave it as is: echo $itemnew = $_POSΤ['newitem'];
}
}
?>
<form action="insert.php" method="POST" >
<input type="text" name="newitem">
<input type="submit" value="Save">
</form>
if($_POST)
将确保代码仅在post
上执行。 empty()
函数还会检查它是isset()
还是检查它是否为空。
答案 3 :(得分:0)
试试这个:
<?php
if(isset($_POSΤ["newitem"])){
echo $itemnew = $_POSΤ["newitem"];
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" >
<input type="text" name="newitem">
<input type="submit" value="Save">
</form>
$ _ SERVER [ 'PHP_SELF'];是php中的预定义变量。它允许用户在提交表单后保持在同一页面上。