我目前正在尝试使用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();
}
?>
你能帮我吗?
最佳答案
这可能是因为您没有结果吗?
无论如何,我已经检查了您的代码,但是效果不好,因为您尝试使用此代码:
$dataArrayLogin['dtUser']
$dataArrayLogin
中没有“ dtUser”键。提取行时,将其放入
while
循环,并将数据收集到数组中:while ($row = mysqli_fetch_assoc($queryResult)) {
$dataArrayLogin[] = $row;
}
删除while循环。使用简单:
$dataArrayLogin = mysqli_fetch_assoc($queryResult);
如果
echo
和array
,结果将为Array
。请改用var_dump
。关于php - 数组返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27816548/