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


(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';
}
?>

这份声明if(isset($_POST[‘submit’])&amp$_POST['submit']=="添加")echo"ok";永远不会被执行,因为它总是给出false值,如何使isset($POST〔'submit〕)语句给出true值来执行条件?

您的语句永远不可能为true,因为第二个IF语句只针对$_GET变量,然后您尝试访问其中的$_POST。您不能同时拥有GET和POST。

你也有一些拼写错误——$_GET['action']将是"添加"而不是"添加",你的HTML中有<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>