所以在我昨晚与Upwork自由职业者发生事故后,我雇了一些可疑的代码,我决定查看一些事情。
我不熟悉登录过程,但得知他使用了md5。
在这里和其他网站上做了一些研究后,我决定将流程切换到bcrypt。
我找到了一步一步的资源here我确认密码正确地发布到数据库。
我的登录表单使用newlogin_check.php
来验证登录信息,但在提交登录表单后,它会将newlogin_check.php
作为空白页面。
这是newlogin_check.php的代码 - 只是不确定错误的位置。
<?php
include("ajax/db_connection.php");
if(isset($_POST['submit'])){
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM logins where userid='$username'";
$result = mysqli_query($con, $query);
$numRows = mysqli_num_rows($rs);
if($numRows == 1) {
$row == mysqli_fetch_assoc($result);
if (password_verify($password, $row['password'])) {
session_start();
$_SESSION["username"] = $row['firstName'].' '.$row['lastName'];
$_SESSION["userid"]= $row['userid'];
$_SESSION["role"] = $row['userType'];
if($_SESSION["role"]=="RF")
header("Location: ref_status.php?uid=".$row['userid']);
else
header("Location: referral.php");
}
else {
header("Location: index.php?errLogin=1");
}
}
}
?>
编辑:每个请求的db_connection.php文件
<?php
// Connection variables
$host = "localhost"; // MySQL host name eg. localhost
$user = "USERNAME"; // MySQL user. eg. root ( if your on localserver)
$password = "PASSWORD"; // MySQL user password
$database = "DATABASE"; // MySQL Database name
// Connect to MySQL Database
$con = new mysqli($host, $user, $password, $database);
// Check connection
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
?>
答案 0 :(得分:0)
问题是您正在检查submit
但是您有Submit
而不是(大写S),数组键区分大小写。
这意味着
if(isset($_POST['submit'])){
必须
if(isset($_POST['Submit'])){