(isset $_POST['submit']) 条件始终为假

(isset $_POST['submit']) condition is always false

我在名为 : addSection.php

的页面中编写了以下代码

<from class="mainSettingsForm add" action="" method="post">
    <h1>Add new section</h1>
    <p>
        <label>new section</label>
        <input type="text" name="section_name" placeholder="section title">
        <label>section status</label>
        <select name="sectionStatus">
            <option value="active">active</option>
            <option value="disActive">disActive</option>
        </select>
    </p>
    <p>
        <label>section location</label>
        <select name="sectionLocation">
            <option value="Side">Side</option>
            <option value="Body">Body</option>
        </select>
    </p>
    <label>section description</label>
    <textarea name="sectionDesc" placeholder="Section description"></textarea>
    <input class="btn-primary" type="submit" name="submit" value="Add">


</from>

以及名为 : Sections.php

的页面中的以下代码

<h2><a href="?page=sections&action=add">Add new section</a></h2>
<?php

if ($_POST OR @$_GET['action'])
{
    if (isset($_GET['action']) AND $_GET['action']=="add")
    {
        include 'views/addSection.php';
        if (isset($_POST['submit'])&&$_POST['submit']=="Add")
            echo 'ok';

    }

}
else
{
   include 'views/sections.php';
}

?>

这个声明 如果 (isset($_POST['submit'])&&$_POST['submit']=="Add") 回声'ok'; 永远不会被执行,因为它总是给出假值,如何使 isset($POST['submit']) 语句给出真值来执行条件?

您的陈述永远不可能是真的,因为第二个 IF 语句仅适用于 $_GET 变量,然后您尝试访问其中的 $_POST。您不能同时拥有 GET 和 POST。

您还有一些错别字 - $_GET['action'] 将是 "Add" 而不是 "add" 并且您的 [=22] 中有 <from> 而不是 <form> =].

if ( isset( $_POST['submit'] ) && $_POST['submit'] == "Add" ){
    echo "this is a POST and submit is add";
} elseif ( isset( $_GET['action']) && $_GET['action'] == "Add" ){
    echo "this is a GET and submit is add";
} else {
    include 'views/sections.php';
}

请试试我的代码。这将帮助您了解您传递的是什么。我还修复了表单标签 - 正如@Hobo Sapiens 建议的那样。

<?php print_r($_REQUEST);?>
<form class="mainSettingsForm add" action="" method="post">
    <h1>Add new section</h1>
    <p>
        <label>new section</label>
        <input type="text" name="section_name" placeholder="section title">
        <label>section status</label>
        <select name="sectionStatus">
            <option value="active">active</option>
            <option value="disActive">disActive</option>
        </select>
    </p>
    <p>
        <label>section location</label>
        <select name="sectionLocation">
            <option value="Side">Side</option>
            <option value="Body">Body</option>
        </select>
    </p>
    <label>section description</label>
    <textarea name="sectionDesc" placeholder="Section description"></textarea>
    <input class="btn-primary" type="submit" name="submit" value="Add">


</form>