【问题标题】:POST method not working, returning nullPOST方法不起作用,返回null
【发布时间】:2014-12-30 21:31:40
【问题描述】:

需要帮助解决愚蠢的疑问,但我对此一无所知。

试图通过 POST 从一个网页传递到另一个网页(volunteer.php 到 confirmdata.php),但问题是我总是得到 null。

志愿者.php:

<form action="confirmdata.php" method="POST" enctype="multipart/form-data" name="form1" id="form1">
                  <fieldset>
                    <table width="415" cellpadding="1" cellspacing="0">
                      <tr>
                        <td width="108">Name:</td>
                        <td width="301"><label for="nome"></label>
                        <input name="nome" type="text" class="bgverdinho" id="nome" /></td>
                      </tr>
        </table></fieldset></form>

现在在 confirmdata.php:

  <li> <?php echo  "Nome ".$nome  = empty($_POST['nome'])  ? null : $_POST['nome']; ?></li>

什么都没有,它返回 null 但是为什么它不将 'nome' 保存在 POST 变量中?

谢谢大家

【问题讨论】:

  • 你是通过 apache 还是 nginx 或者其他方式运行这个?
  • 你得到什么结果?为了使用 PHP,您应该安装像 Apache 这样的 PHP 服务器来处理页面。
  • 尝试摆脱 enctype="multipart/form-data" 。我已经看到这会给某些人带来问题,这真的没有必要。

标签: php post


【解决方案1】:

(更新)

请尝试:

echo  "Nome ".( empty($_POST['nome'])  ? null : $_POST['nome']);

希望对你有帮助。

【讨论】:

  • 通过 POST 发送的空白输入字段将作为空白字符串传入,但 isset 将评估为 True。我认为他对空...
  • 好的,抱歉,它可能太狭窄了 - 我正在纠正并感谢您分享您的意见
【解决方案2】:

在你的 confirmdata.php 试试这个

if(!isset($_POST['submit'])){
   echo "Sorry form hasn't been submitted";
}else{
   if(empty($_POST['nome'])){    
       echo "No value has been submitted";
  }else{
     $nome = $_POST['nome'];
     echo $nome;
  }
}

【讨论】:

  • 试过了,结果是“抱歉表单还没有提交”。
  • 这意味着表单尚未提交,一个原因,您的表单标签内似乎没有提交按钮,如果您确保提交按钮的“名称”是“提交” ”。另一个原因是您的操作正确链接到 confirmdata.php,如果这两个原因都是正确的,那么它应该回显一些积极的东西。
【解决方案3】:

伙计们,我在提交按钮中有 onclick 功能。在我删除它之后,post方法起作用了。正如我所说,我正在使用 xampp。

您知道为什么会发生这种情况吗? onClick 不应该不会影响 php 吗?

谢谢回答

【讨论】:

    猜你喜欢
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 2022-08-11
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多