PHP登录脚本应该可以工作但不是

时间:2014-07-29 14:24:49

标签: php

这是我之前用于学校项目的相同,非常基本和业余的登录脚本。它工作得很好,仍然在该网站上,但不是在这个新的我正在做。我知道它根本不是很好,虽然它现在只是让我烦恼,因为它应该起作用。

它继续说密码和ID不正确并指示我回复,即使情况并非如此。

任何帮助都非常感激。

形式:

<form action="adminlogin.php" method="POST">
ID:<input type="text" name="ID">
Password:<input type="password" name="password"><br>
<input type="submit" value="login" name="submit">
</form> 

PHP:

<?php
require ('login2.php');
if (isset($_POST['submit'])){
$ID=mysql_real_escape_string($_POST['ID']);
$password=mysql_real_escape_string($_POST['password']);
if (!$_POST['ID'] | !$_POST['password'])
{
echo ("<SCRIPT LANGUAGE='JavaScript'>
    window.alert('You did not complete all of the required fields')
    window.location.href='adminlogin.html'
    </SCRIPT>");
exit();
 }
$sql= mysql_query("SELECT * FROM `adminusers` WHERE 'ID' = '$ID' AND `password` = '$password'");
if(mysql_num_rows($sql) > 0)
{
echo ("<SCRIPT LANGUAGE='JavaScript'>
    window.alert('Login Succesfully!.')
    window.location.href='adminview.html'
    </SCRIPT>");
exit();
}
else{
echo ("<SCRIPT LANGUAGE='JavaScript'>
    window.alert('Wrong username password combination.Please re-enter.')
    window.location.href='adminlogin.html'
    </SCRIPT>");
exit();
}
}
else{
}
?>

PHP2

 <?php
 mysql_connect("localhost", "root", "student") or die("mysql connection is failure.");
 mysql_select_db("curiositypizza") or die("Database does not exists.");
 ?>

1 个答案:

答案 0 :(得分:0)

$sql= mysql_query("SELECT * FROM `adminusers` WHERE 'ID' = '$ID' AND `password` = '$password'");

应该是

$sql= mysql_query("SELECT * FROM `adminusers` WHERE `ID` = '$ID' AND `password` = '$password'");

您在上面的方式将检查ID&#39; ID&#39; =&#39;用户名&#39;,永远不会是真的,因此会转到else语句。

<强>更新

虽然这不是首选的方法,但很可能会让你的脚本工作,直到你把它翻新成更干净的代码。