【问题标题】:values sent with POST/GET will not print as variables使用 POST/GET 发送的值不会作为变量打印
【发布时间】:2019-04-19 18:26:46
【问题描述】:

我正在做一个项目,以获取两个提交的变量并将它们转换为 php 变量(最终它们会相乘),但到目前为止我无法将变量视为这样/echo。

我尝试从 POST 更改为 GET,变量通过发送(出现在查询行中)但它们没有打印在页面上

<?php
    if (isset($_POST['submit'])) {
        echo $_POST['length'];

        echo $_POST['numPass'];
    }
?>

<form method="post" action="">
    <input type="number" name="length">
    <input type="number" name="numPass">
    <input type="submit">
</form>

我希望变量将作为常规语句回显。 IE。 length=2 和 numPass=4

24

【问题讨论】:

  • 尝试echo "&lt;pre&gt;"; print_r($_POST); echo "&lt;/pre&gt;\n"; 测试您的输入。
  • 请使用$_REQUEST$_GET 代替post

标签: php html post get


【解决方案1】:

您可以使用$_REQUEST 获取$_GET$_POST 请求

if (isset($_REQUEST['submit'])) {
    echo $_REQUEST['length'];

    echo $_REQUEST['numPass'];
}

<form method="post" action="">
  <input type="number" name="length">
  <input type="number" name="numPass">
  <input type="submit" value="submit">
</form>

【讨论】:

    【解决方案2】:

    $POST['submit'] 不存在,因为您的提交按钮没有名称,它需要与您的其他输入相同的名称

    【讨论】:

      【解决方案3】:

      最好检查输入以避免可能的错误。你可以试试它的例子:

      <?php
      if( $_POST["length"] && $_POST["numPass"] ) { 
          echo "1: " . $_POST['length'] . "<br>";
          echo "2: " . $_POST['numPass'] . "<br>";
          echo $_POST['length'] * $_POST['numPass'];
      }
      ?>
      
      <form method="post" action = "<?php $_PHP_SELF ?>">
          <input type="number" name="length">
          <input type="number" name="numPass">
          <input type="submit">
      </form>
      

      【讨论】:

        猜你喜欢
        • 2012-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-16
        • 2011-11-25
        • 2017-08-28
        相关资源
        最近更新 更多