无法从简单的PHP表单中回显值

时间:2014-09-16 16:34:02

标签: php

我第一次尝试使用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(就像我发布在顶部的代码一样)并且它有效...我不知道为什么会发生这种情况。任何建议?

4 个答案:

答案 0 :(得分:1)

您发布的代码完全有效且应该有效。

我猜你没有启用PHP,或者它没有工作。

<?php ... ?>将浏览器视为一个长的,格式错误的HTML标记,因此忽略它,使效果不可见。

尝试右键单击页面并选择“查看源”。如果你在那里看到你的PHP,那么服务器确实没有处理它。

最可能的原因可能与我的第一段PHP代码有同样的问题:你正在尝试&#34;运行&#34;它直接在您的浏览器中。这不会奏效。您需要将其上传到服务器(或在您的计算机上安装服务器并从那里调用它)

答案 1 :(得分:0)

改为使用!empty($_POST['newitem']

if(!empty($_POSΤ["newitem"])){
    echo $itemnew = $_POSΤ["newitem"];
}

empty()

答案 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中的预定义变量。它允许用户在提交表单后保持在同一页面上。