我的php / MySQLI脚本一直告诉我正确的细节是不正确的

时间:2016-03-31 13:55:15

标签: php mysql mysqli

我从昨天开始工作,尝试为我的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

0 个答案:

没有答案