登录页面不起作用?

时间:2013-05-23 18:44:39

标签: php sql login

我有一些登录页面的代码,除了它似乎没有工作,我的意思是当我输入正确的用户名和密码并单击登录时,表单只是重新加载并保持在同一登录页。如果有人可以建议一些可能的解决方案,那将是非常新的PHP,并且到目前为止还没有任何运气。这是我的代码:

<?php
require_once("nocache.php");
$id = $_POST["id"];
$pword = $_POST["pword"];

if(!empty($_POST)) {
if(!empty($id) || !empty($pword)) {
    require_once("dbconn.php");
    $sql = "select username, school_type from school_info where username = '$id' and password = '$pword'";

    $rs = mysql_query($sql, $dbConn);

    if(mysql_num_rows($rs) > 0) {
        session_start();
        $_SESSION["who"] = $id;
        $_SESSION["school_type"] = mysql_result($rs, 0, "school_type");

        header("location: EOI_home.php");
    }
} else {
    header("location: login.php");
}
}
?>

<form method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>" id="login">

ID: <input type="text" name="id" /><br/>
pword: <input type="password" name="pword" /><br/>

<input type="submit" value="log in" />&nbsp;
<input type="reset" />

</form>

顺便说一句,我从这个代码中获取的文件的名称是login.php

以下是dbconn.php文件的内容:

<?php

$dbConn = mysql_connect("localhost", "twa312", "dam6av9a");

if (!$dbConn){
 die('Could not connect: ' . mysql_error()); }
mysql_select_db("test", $dbConn)
 or die ('Database not found ' . mysql_error() );
?>

这是nochache.php文件:

<?php
 header("Cache-Control: no-cache");
 header("Expires: -1");
?>

只是添加了这些额外文件的内容,以防万一。

2 个答案:

答案 0 :(得分:3)

exit;重定向后没有header("location: EOI_home.php");。以下情况对我来说也不合适..

if (!empty($id) || !empty($pword))

如果$id不为空但$pword仍然会登录,但除非用户有空密码,否则不会重定向。它应该是......

if (!empty($id) && !empty($pword))

答案 1 :(得分:1)

session_start电话移至页面顶部。如果你输出任何东西,在点击该命令之前它不会起作用,如果你关闭了警告,那么你就不会知道它。