我正在尝试使用PHP和MySQL创建登录但是我被卡住了。应该从数据库中提供数据的数组只返回“Null”我使用了var_dumb()。
这是 index.php 文件:
<?php
include_once './Includes/functions.php';
?>
<!DOCTYPE html
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div>
<form method="POST">
<label>User ID :</label>
<input id="login_username" name="login_username" type="login"><br>
<label>Password :</label>
<input id="login_password" name="login_password" type="password" ><br>
<input id="login_submit" name="login_submit" type="submit">
</form>
</div>
</body>
</html>
这是 function.php 文件:
<?php
require_once 'dbconnect.php';
function SignIn() {
$lUser = $_POST['login_username'];
$lPassword = md5($_POST['login_password']);
$querySQL = "SELECT * FROM tblUser WHERE dtUser='$lUser' AND dtPassword='$lPassword'";
$queryResult = mysqli_query($dbc, $querySQL);
while ($row = mysqli_fetch_assoc($queryResult)) {
$dataArrayLogin[] = $row;
}
if ($lUser == $dataArrayLogin['dtUser'] && $lPassword == $dataArrayLogin['dtPassword']) {
echo $dataArrayLogin;
$popup = "Login Succeed";
echo "<script type='text/javascript'>alert('$popup');</script>";
$_SESSION['user'] = $lUser;
header("Location: ./british.php");
} else {
echo $dataArrayLogin;
$popup = "Login Failed";
echo "<script type='text/javascript'>alert('$popup');</script>";
}
}
if (isset($_POST['login_submit'])) {
SignIn();
}
?>
你可以帮帮我吗?
答案 0 :(得分:0)
在您的HTML表单中,您没有<form method="POST" action="SignIn">
。所以当你提交表格时,它不会去某个地方。
答案 1 :(得分:0)
这可能是,因为你没有结果?
无论如何,我已经检查了你的代码,但这并不好,因为你试图使用它:
$dataArrayLogin['dtUser']
没有&#39;用户&#39;密钥在$dataArrayLogin
。
获取行时,将其置于while
周期,并将数据收集到数组中:
while ($row = mysqli_fetch_assoc($queryResult)) {
$dataArrayLogin[] = $row;
}
删除while循环。简单使用:
$dataArrayLogin = mysqli_fetch_assoc($queryResult);
如果您echo
array
,则结果为Array
。请改用var_dump
。
答案 2 :(得分:0)
您需要开始调试脚本。以下是我将采取的步骤:
这应该可以解决你的错误。
编辑:
答案 3 :(得分:0)
像这样更改查询
$ querySQL =“SELECT * FROM tblUser WHERE dtUser ='”。$ lUser。“'AND dtPassword ='”。$ lPassword。“'”;