php isset始终返回false

php isset始终返回false,php,html,Php,Html,我承认我是一个新手,但我花了两天时间试图让下面的代码在按下提交按钮时回显“按下或未按下”。 我剥离了所有不相关的代码,并留下了下面的内容。 这是非常基本的东西,我读过的每个论坛都建议我的代码是正确的。 我正在使用一台装有windows 10和IE连接到WAMP服务器的笔记本电脑 <!doctype html> <html> <head> <meta charset="iso-8859-1"> <title>SystemAdministr

我承认我是一个新手,但我花了两天时间试图让下面的代码在按下提交按钮时回显“按下或未按下”。 我剥离了所有不相关的代码,并留下了下面的内容。 这是非常基本的东西,我读过的每个论坛都建议我的代码是正确的。 我正在使用一台装有windows 10和IE连接到WAMP服务器的笔记本电脑

<!doctype html>
<html>
<head>
<meta charset="iso-8859-1">
<title>SystemAdministrator</title>
<link href="pval.css" rel="stylesheet">
<link href="system_administrator.css" rel="stylesheet">

<?php
//test to see if submit button was pressed or not
if (isset($_post['create_userdb'])) {
   echo 'pressed';
   $username = $_POST['username'];
   echo $username;
} else {
   echo 'not pressed';
   $username = $_POST['username'];
   echo $username;
}
?>

</head>
<body>
<Form name ="form1" Method ="POST" Action ="system_administrator.php">
<INPUT TYPE = "TEXT" VALUE ="username" Name ="username">
<INPUT TYPE = "Submit" Name = "create_userdb" VALUE = "create_userdb">
</FORM>
</body>
</html>

系统管理员

有键入$\u post的错误。应该是$\u POST

if (isset($_POST['create_userdb'])) {
   echo 'pressed';
   $username = $_POST['username'];
   echo $username;
} else {
   echo 'not pressed';
   $username = $_POST['username'];
   echo $username;
}

问题是小写的
$\u post
-应该如下
$\u post

<!doctype html>
<html>
    <head>
        <meta charset="iso-8859-1">
        <title>SystemAdministrator</title>
        <link href="pval.css" rel="stylesheet">
        <link href="system_administrator.css" rel="stylesheet">
        <?php
        if( $_SERVER['REQUEST_METHOD']=='POST' ){
            if ( isset( $_POST['create_userdb'])) {
               echo 'pressed';
               $username = $_POST['username'];
               echo $username;
            } else {
               echo 'not pressed';
               $username = $_POST['username'];
               echo $username;
            }
        }
        ?>
    </head>
    <body>
        <Form name="form1" Method ="POST">
            <INPUT TYPE="TEXT" VALUE="username" Name="username" />
            <INPUT TYPE="Submit" Name="create_userdb" VALUE="create_userdb" />
        </FORM>
    </body>
</html>

系统管理员
  • $\u post
    错误。您需要
    $\u POST

  • <!doctype html>
    <html>
        <head>
            <meta charset="iso-8859-1">
            <title>SystemAdministrator</title>
            <link href="pval.css" rel="stylesheet">
            <link href="system_administrator.css" rel="stylesheet">
            <?php
            if( $_SERVER['REQUEST_METHOD']=='POST' ){
                if ( isset( $_POST['create_userdb'])) {
                   echo 'pressed';
                   $username = $_POST['username'];
                   echo $username;
                } else {
                   echo 'not pressed';
                   $username = $_POST['username'];
                   echo $username;
                }
            }
            ?>
        </head>
        <body>
            <Form name="form1" Method ="POST">
                <INPUT TYPE="TEXT" VALUE="username" Name="username" />
                <INPUT TYPE="Submit" Name="create_userdb" VALUE="create_userdb" />
            </FORM>
        </body>
    </html>
    
  • submit按钮不会向PHP返回值。如果使用
    var\u dump($\u POST)
    ,您可以看到表单中所有已发布的数据,并且
    create\u userdb
    将不在其中

  • 如果要检查按钮是否被按下,可以像这样简单地检查$\u POST数组:

    <?php
    //test to see if submit button was pressed or not
    if (isset($_POST)) {
       echo 'pressed';
       $username = $_POST['username'];
       echo $username;
    } else {
       echo 'not pressed';
       $username = $_POST['username'];
       echo $username;
    }
    ?>
    

    按钮不会向php返回值。@YUNOWORK是的,它会返回值。$\u post['create\u userdb']将此更改为$\u post['create\u userdb']非常感谢,非常有效。submit按钮会返回值。i、 e.@artberri这怎么可能?我只是在我的机器上测试了这个,提交按钮没有返回任何内容。
    <?php
    var_dump($_POST);
    
    array (size=1)
    'username' => string 'username' (length=8)