0

我的index.php页面中有以下表格

    <form action='login.php' method='POST'>
    Log in Here:<br><br>
    Username:<input type='text' name='User_name' value='username' onFocus="clearText(this)" id='fn'>
    <br><br>
    Password:<input type='password' name='_password' ><br><br>
    <input  value='Log in' type="image" src="client-login-buttonclient-login-button.jpg" ><br><br>
    <input type="checkbox" name="checkbox"  id="checkbox" />
    Remember password</span></p>
    </form>

我将表单字段发布到另一个名为login.php

  <?php

    session_start();
    $username=$_POST['User_name'];
    $password=$_POST['_password'];
    if($username && $password){
    echo $username;
    echo $password;
    }
    else {
    echo 'A field is empty';
    }

但是当我这样做时,它给了我以下错误

 Notice: Undefined index: User_name in login.php on line 4
 Notice: Undefined index: _password in login.php on line 5

为什么 post 方法不起作用?

4

4 回答 4

0

该错误表明没有传递变量。为了绕过错误并仍然捕获字段为空白,请使用isset()

$username = (isset($_POST['User_name']) ? $_POST['User_name'] : '');

这将检查变量是否被传递,如果是,则将相应的变量设置为该值,否则将其设置为“”(或您选择的其他值)。

于 2013-01-11T04:40:02.650 回答
0

尝试isset输入您的 if 条件并让我们看看

 if(isset($_POST['User_name']) && isset($_POST['_password'])){
            echo $_POST['User_name'];
            echo $_POST['_password'];
    }else {
            echo 'A field is empty';
    }
于 2013-01-11T04:41:37.047 回答
0
  <?php

    session_start();
    if($_POST)
    {
    $username=$_POST['User_name'];
    $password=$_POST['_password'];
    if($username && $password){
    echo $username;
    echo $password;
    }
    else {
    echo 'A field is empty';
    }

    }


  ?>
于 2013-01-11T04:43:39.993 回答
-1

您需要提交按钮来发布您的表单,或者至少使用 javascript 执行此操作,并isset()首先检查这些发布变量是否包含值,然后尝试分配值。

if(isset($_POST['UserName']){
$username=$_POST['User_name'];
}
于 2013-01-11T04:41:08.037 回答