提交按钮值在HTML/Twig/Bootstrap/PHP中不可用


Submit button value not available in HTML / Twig / Bootstrap / PHP

我有一个HTML/Twig/Bootstrap文件,其中有两个按钮:

<form method="post" action="procuser.php">
    <div class="form-group">
        <label for="Details">Details:</label>
        <textarea class="form-control" rows="5" id="details" name="details">{{ details }}</textarea>
    </div>
    <button type="submit" name="button" value="submit" class="btn btn-default">Submit</button>
    <button type="submit" name="button" value="cancel" class="btn btn-default">Cancel</button
    <br><span class="err">{{ err }}</span>
</form>

然后在PHP中,我使用以下检查来检查表单是否已提交/取消:

if ($_SERVER["REQUEST_METHOD"] == "POST")
{
    if (isset($_GET["button"]) && $_GET["button"] == "submit")
    {
        if (postData(input("details"))) // <- never reaches here?
            header("success.php");
    }
    else
        header("menu.php");
}        

但是提交按钮不起作用,我总是被重定向到菜单。

因为您在html中使用了method="post"的表单。这就是您无法通过$_get获取按钮值的原因

更改:

if (isset($_GET["button"]) && $_GET["button"] == "submit")

至:

if (isset($_POST["button"]) && $_POST["button"] == "submit")

根据本网站:http://www.w3schools.com/tags/tag_button.asp

注意:如果使用<按钮>HTML表单中的元素,不同浏览器可以提交不同的值。使用<输入>要在中创建按钮HTML表单。

我建议使用

<input type="submit" name="button" value="submit" class="btn btn-default" />
<input type="submit" name="button" value="cancel" class="btn btn-default" />

if(isset($_GET["button"])&amp$_GET["button"]="submit")

在该代码中,事件不正确,用户可以一次单击一个按钮,因此不可能一次单击两个按钮:)

使用这个

如果(isset($_GET["button"])="submit")