登录发布错误

时间:2013-02-05 15:48:37

标签: php html xml

我正在寻找一种方法来检查用户是否在登录脚本中输入了某些内容。我试过了 if (!empty($_POST)) 但这种方法失败了。由于我是php的新手,我不确定使用什么其他干净的方法。

<?php
    if ( !empty($post)){
    header("Location:login.php");
    echo"Invalid Username or Password";
    }
?>
<html>
    <head>
        <title>Administrator Login Page</title>
        <style type="text/css">
            @import "style.css";
        </style>
    </head>
    <body>
        <h1>Administrator Login Page</h1>
        </br></br></br></br></br></br></br>
        <form action="admin_verify.php" method="post">
            User Name:
            <input type="text" name="admin_name" />
            </br></br>
            Password:&nbsp;&nbsp;
            <input type="password" name="admin_password" />
            </br></br>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <input type="submit" value="Login"/>
            <input type="reset" value="Reset"/>
        </form>
    </body>
</html>

3 个答案:

答案 0 :(得分:2)

您应将此代码放在admin_verify.php而不是login.php

<?php
    if ( !empty($post)){
        header("Location:login.php");
        exit;        
    }
?>

最好通过

检查所有输入的字段
if( !isset($_POST['admin_name'], $_POST['admin_password'] )) {
     header("Location:login.php");
     exit; 
}

如果要将某些消息发送回登录页面,可以在get参数中发送或使用会话

header("Location:login.php?msg=Invalid Username or Password");
exit; 

答案 1 :(得分:0)

您可能希望检查此页面上的用户名和密码,而不是简单地检查表单是否已填写。如果您希望将其保留到login.php,请将$_POST中的内容保存到$_SESSION

<?php
if (!empty($_POST)){
    if (strlen($_POST["admin_name"]) > 0 && strlen($_POST["admin_password"]) > 0) {
        header("Location:login.php");
        exit;
    } else {
        $not_filled = true;
    }
}
?>
<html>
<head>
<title>Administrator Login Page</title>
<style type="text/css">
@import "style.css";
</style>
</head>
<body>
<h1>Administrator Login Page</h1>
</br></br></br></br></br></br></br>
<?php if ($not_filled) echo"Invalid Username or Password"; ?>
<form action="admin_verify.php" method="post">
User Name: <input type="text" name="admin_name" />
</br></br>
Password:&nbsp;&nbsp; <input type="password" name="admin_password" />
</br></br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="submit" value="Login"/>
    <input type="reset" value="Reset"/>
</form>
</body>
</html>

答案 2 :(得分:0)

尝试

if((isset($_POST['admin_name']) && isset($_POST['admin_password']))
{
   //INSTRUCTION
}