【问题标题】:HTML PHP (Why does not return value?)HTML PHP(为什么不返回值?)
【发布时间】:2017-10-10 13:16:56
【问题描述】:

我实际上是在尝试检索输入提交按钮的值。但我不知道为什么它不起作用。谁能帮我?

当用户点击按钮时,按钮的值将被发送到下一页。

<?php
include('connect.php');

// Create connection
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM userauth";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while ($row = mysqli_fetch_assoc($result)) {
        ?>

        <html>
            <head>
                <title>GAF APPS</title>  
            </head>
            <body>
                <form method="post" action="branch.php">
                    <input type="submit" name="submit" value="<?php echo $row["Company"]; ?>">
                </form>
            </body>
        </html>

        <?php
    }
} else {
    echo "0 results";
}
$conn->close();
?>

这是我要检索值的地方:

<?php
if (isset($_POST['action'])) {
    echo '<br />The ' . $_POST['submit'] . ' submit button was pressed<br />';
}
?>

【问题讨论】:

  • 那么,“下一页”在哪里?编辑:还是您现在才编辑?
  • 对不起,我不小心按下了发布问题按钮。我刚刚编辑过。
  • 您没有发送任何名为action 的输入,因此isset($_POST['action']) 返回false
  • 您应该会收到未定义的索引通知。添加else { echo "Not set"; } 时会发生什么?错误报告是您的朋友。
  • 啊嗯嗯我试试看

标签: php html mysqli


【解决方案1】:

您没有名为“action”的输入,因此isset() 永远不会发生,这就是您没有收到错误的原因

如果为它添加了else 条件,就会向您展示这一点。

【讨论】:

    【解决方案2】:

    在 PHP 中进行调试时,我倾向于使用霰弹枪方法,输出所有可能非常有趣的内容,然后缩小范围。

    因此,在查看解析表单变量时,请使用 echo var_export($_GET, true) 或 vardump($_GET)。

    不确定是 GET 还是 POST?使用 _REQUEST,它同时包含 1 个变量。

    使用 HTML 标记使其更具可读性,使用 htmlspecialchars() 转换通常因浏览器而无法看到的字符。

    使用这些功能可以更轻松地查看您对表单的操作。

    所以回答上面的问题: 查看提到的请求变量,并通过查看 HTML 和代码确定是否应在按下提交按钮时由浏览器解析和发送预期的变量。

    看看PHP实际接收到的值在处理时是否会有预期的结果。

    尽量将这两件事分开,因为现在 HTML 中的内容并不意味着在解析表单时它就在那里。在使用 PHP/HTML 和表单开发时,当您更改代码并且不完全重新加载时,这有点绑定,而只需在表单上按提交: 解析当前表单的代码将被更改,但解析的表单内容是在浏览器中加载的内容,可能已过时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-21
      • 2014-02-10
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      • 2021-02-24
      • 2011-06-19
      • 1970-01-01
      相关资源
      最近更新 更多