我正在尝试让一个小的登录页面工作并连接到MySQL数据库上的tbl_Users表。我已经尽力设置了一个代码,该代码将检查并链接在主页表单上输入的值,并将其链接到我的数据库中的表。但每当我尝试进行虚假登录或实际登录时,生成的都是一个空白页面,我不知道哪里出了问题。有人能给我指正确的方向吗。
Home_Page.php
<!DOCTYPE HTML>
<html>
<head>
<title>Please Login</title>
</head>
<body>
<form action="Login.php" method='POST'>
Username: <input type='text' name='username';><br>
Password: <input type='password' name='password'> <br>
<input type='submit' value='Log in'>
</body>
</html>
登录.php
include ('DatabaseConnect.php')
$username = $_POST['username'];
$password = $_POST['password'];
if ($username&&$password)
{
$query = mysql_query("SELECT * FROM tbl_Users WHERE User_Name='$username'");
$numrows = mysql_num_rows($query);
if ($numrows != 0)
{
while ($row = mysql_fetch_array($query))
{
$dbusername = $row ['User_Name'];
$dbpassword = $row ['Password'];
}
if ($username==$dbusername&&$password==$dbpassword
{
echo ("Welcome");
}
else
echo ("Incorrect Password");
}
else
die("That user doesn't exist!");
}
else
die("Please enter a valid username & password");
?>
Tbl_Users创建代码
CREATE TABLE `tbl_Users` (
`User_id` int(11) NOT NULL auto_increment, `First_Name` varchar(32) NOT NULL,
`Last_Name` varchar(32) NOT NULL, `Email` varchar(100) NOT NULL, `User_Name` varchar(100) NOT NULL,
`Password` varchar(100) NOT NULL, `User_level` int(11) NOT NULL, `Tickets_id` int(11) NOT NULL,
PRIMARY KEY (`User_id`), KEY `Tickets_id` (`Tickets_id`),
CONSTRAINT `tbl_Users_ibfk_1` FOREIGN KEY (`Tickets_id`)
REFERENCES `tbl_Tickets` (`Tickets_id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
MySQL函数从PHP 5.5开始贬值。
您需要使用新的和改进的MySQLi函数。
http://php.net/manual/en/book.mysqli.php
此外,我建议你在PHP脚本开始时检查你捕获的$_POST,因为这可以让你以后的生活更轻松,而且是一个很好的练习:
if(isset($_POST['username']))
{
$username = $_POST['username'];
}
else{
//Redirect or echo an error message
}
if(isset($_POST['password']))
{
$password = $_POST['password'];
}
else{
//Redirect or echo an error message
}
如果你是PHP新手,你真的应该使用一个模板或教程代码。您当前的解决方案容易受到SQL注入的攻击,并以纯文本形式存储密码,这意味着任何人都可以在大约2分钟的时间内获得所有用户的密码。在谷歌上快速搜索会发现这一点,你可能会觉得很有帮助:http://www.html-form-guide.com/php-form/php-login-form.html