php isset总是返回false

时间:2015-11-24 07:49:55

标签: php html

我承认我是新手,但是我花了两天的时间尝试获取以下代码,以便在按下提交按钮时回显“按下或未按下”。 我删除了所有不相关的代码,并留在下面。 这是非常基本的东西,我读过的每个论坛都建议我的代码是正确的。 我只是使用带有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>

3 个答案:

答案 0 :(得分:3)

$ _post的打字错误。它应该是$ _POST

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

答案 1 :(得分:-1)

问题是小写$_post - 它应该低于$_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>

答案 2 :(得分:-1)

  1. $_post错了。您需要$_POST

  2. 提交按钮不会向PHP返回值。如果您使用var_dump($_POST),则可以看到表单中的所有发布数据,create_userdb将不会出现。

  3. 如果你想检查按钮是否被按下,你可以简单地检查$ _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 5.3已安装。

    的test.html

    <!DOCTYPE html>
    <html>
    <head lang="en">
      <meta charset="UTF-8">
      <title></title>
    </head>
    <body>
      <form method="POST" enctype="multipart/form-data" action="test.php">
        <input type="text" value="username" name="username">
        <input type="submit" name="create_userdb" value="create_userdb">
      </form>
    </body>
    </html>
    

    test.php的

    <?php
    var_dump($_POST);
    

    输出:

    array (size=1)
    'username' => string 'username' (length=8)