我正在尝试使用PHPMyAdmin和MAMP创建数据库登录。我在index.html中创建了一个简单的登录表单,并在输入正确的用户名和密码后将我的php代码放在connect.php中打开home.php。但是当我输入用户名和密码时(甚至当我输入随机文本时) )我被带到localhost:8888 / connect.php没有错误信息,只是一个空白页面。有什么想法吗?
这是index.html代码
<head>
<body>
<font>
<center><h1>Login</h1></center>
</font>
<form action="connect.php" method="POST">
Username:<input type="text" name="username">
Password:<input type="password" name="pass"><br>
<input type="submit" value="login" name="submit">
</form>
</body>
</head>
这是在connect.php
<?php
require ('msql_connect.php');
if (isset($_POST['submit'])){
$username=mysql_escape_string($_POST['username']);
$password=mysql_escape_string($_POST['pass']);
}
$inputuser = $_POST['user'];
$inputpass = $_POST['pass'];
$user = "root";
$database = "test";
@mysql_select_db($database) or ("Database not found");
$query = "SELECT * FROM 'login' WHERE 'user' = '$username' AND 'password' = '$password'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if(!$result){
echo "Sorry, bad login";
die("Username or password is invalid");
//Might be better to redirect back to the login page with a freindly message
} else {
$valid_user = mysql_fetch_array($result);
mysql_close();
header('Location: home.php');
}
?>
更新: 没有mysql_connect.php,我已将所有mysql_更改为mysqli_,并注释掉了require(),它给我带来了错误的用户名和密码错误消息,但它们应该正常工作。
现在看起来像这样
<?php
// require ('connect.php');
if (isset($_POST['submit'])){
$username=mysqli_escape_string($_POST['username']);
$password=mysqli_escape_string($_POST['pass']);
}
$inputuser = $_POST['user'];
$inputpass = $_POST['pass'];
$user = "root";
$password = "";
$database = "fuf_db";
$connect = mysqli_connect("localhost",$user,$password);
@mysqli_select_db($database) or ("Database not found");
$query = "SELECT * FROM 'SuperAdminUsers' WHERE 'user' = '$username' AND 'password' = '$password'";
$result = mysqli_query($query);
if(!$result){
echo "Sorry, bad login";
die("Username or password is invalid");
} else {
// $row = mysqli_fetch_array($result);
$valid_user = mysqli_fetch_array($result);
mysqli_close();
header('Location: home.php');
}
?>
这些是我得到的错误: -
警告:mysqli_escape_string()需要2个参数,1在第5行的/ / connect.php中给出
警告:mysqli_escape_string()需要2个参数,1在第6行的/ / connect.php中给出
注意:第9行的未定义索引:用户位于... / connect.php
警告:mysqli_connect():( HY000 / 1045):第15行的... / connect.php中用户'root'@'localhost'(使用密码:NO)拒绝访问
警告:mysqli_query()需要至少2个参数,在第20行的... / connect.php中给出1 对不起,糟糕的loginUsername或密码无效
答案 0 :(得分:1)
此代码可能因多种原因而被破坏。
您必须收到错误。所以在文件开头设置它。
ini_set('display_errors', true);
检查mysql配置文件中是否有正确的数据。