我从昨天开始工作,尝试为我的MySQL数据库建立一个简单的登录表单,我有一个表设置为tbl_Users,其中包含用户所需的所有必要列。为了测试它我用一行填充表格来测试我的表格。但不管我多少次尝试。我不断收到回音信息,告诉我它无效。我知道它并非无效,因为我将表中的详细信息复制并粘贴到输入框中,因此它必须是我对代码做错的事情。但是,当我查看并将代码与帮助我的指南进行比较时,一切都正常匹配。我真的被困在这里了!
ConnectorCode.php
连接器代码文件工作正常,因为我已单独测试它。我把它包含在主索引文件中,这样我就不必在每个页面上写出来了。
<?php
$conn = mysqli_connect("localhost", "b4014107", "Win1", "b4014107_db2")or
die(mysqli_connect_error())
echo "Connection Successful<br>";
$db= mysqli_select_db("b4014107_db2", $conn) or die("Could not select _db2");
echo "Connection to _db1 database succsessful<br>";
?>
的index.php
正如您所看到的,我在连接器代码和索引代码中都使用了更新的Mysqli命令。我已建立与数据库的连接,并从tbl_Users调用数据。一切都是格式化的,页面正确显示框和表格。但是无法正常工作的是实际登录。我不断得到我设置的失败回声,否则回声。
<?php
echo mysqli_error($conn)
error_reporting(E_ALL & ~E_NOTICE);
session_start();
if($_POST['submit']) {
include_once("ConnectorCode.php");
$username = strip_tags($_POST['username']);
$password = strip_tags($_POST['password']);
$sql = "SELECT User_id, User_Name, Password FROM tbl_Users WHERE User_Name ='$username' AND User_level ='1' LIMIT 1";
$query = mysqli_query($conn, $sql);
if ($query) {
$row = mysqli_fetch_row($query);
$userid = $row[0];
$dbUsername = $row[1];
$dbPassword = $row[2];
}
if($username == $dbUsername && $password == $dbPassword) {
$_SESSION['User_Name'] = $username;
$_SESSION['User_id'] =$userid;
header('Location: user.php');
} else {
echo "Incorrect Username or Passsword";
}
}
?>
<!DOCTYPE HTML>
<html>
<head>
<title> Login Page </title>
</head>
<body>
<h2> Login Page </h2>
<form method ="post" action="index.php">
<input type="text" placeholder="Username" name ="username" /> <br />
<input type="password" placeholder="Password" name="password" /> <br />
<input type="submit" name="submit" value ="Login" />
</form>
</body>
</html>
我假设它可能与数据库中的列连接有关。我不确定是否可能以某种方式标记某些字段不正确。
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