php - 我的 PHP 登录系统在域站点下不起作用
问题描述
我希望这个问题不是不合适的,但这是我最后的手段,我不想错过这一课,所以就这样吧。我的登录系统有问题。我的登录系统在本地主机下工作得很好,但是当我托管一个站点并将这个登录系统放在那里时,注册工作但我似乎无法登录。有什么建议么?
这是我的 header.php,我在其中显示登录表单
<?php
session_start();
if (isset($_SESSION['userId'])) {
echo '<form action="includes/logout.inc.php" method="post">
<div class="card-body">
<button class="form-control mr-sm-2" type="submit" name="logout-submit">Log out</button>
</div>
</form>';
}
else { //
echo '<form action="includes/login.inc.php" method="post">
<div class="form-label-group">
<input type="text" name="mailuid" class="form-control" placeholder="Username/EMail....">
</div>
<div class="form-label-group">
<input type="password" name="pwd" class="form-control" placeholder="Password...">
</div>
<div class="card-body">
<button class="btn btn-lg btn-primary btn-block btn-success " type="submit" name="login-submit">Sign In </button>
</div>
<div class="card-body">
<a class="btn btn-lg btn-primary btn-block " href="signup.php">Sign Up</a>
</div>
<div class="card-body">
<a href=".$loginUrl.">Sign in Through Facebook</a>
</div>
</form>';
include 'google.php';
}
这是我的 login.inc.php
if (isset($_POST['login-submit'])) {
require 'dbh.inc.php';
$mailuid = $_POST['mailuid'];
$password = $_POST['pwd'];
if (empty($mailuid) || empty($password)) {
header("Location: ../index.php?error=emptyfields");
exit();
}
else {
$sql = "SELECT * FROM users WHERE uidUsers=? OR emailUsers=?;";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt,$sql)) {
header("Location: ../index.php?error=sqlerror");
exit();
}
else {
mysqli_stmt_bind_param($stmt, "ss", $mailuid, $mailuid);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
if ($row = mysqli_fetch_assoc($result)) {
$pwdcheck = password_verify($password, $row['pwdUsers']);
if ($pwdcheck == false) {
header("Location: ../index.php?error=wrongpassword");
exit();
}
elseif ($pwdcheck == true) {
session_start();
$_SESSION['userId'] = $row['idUsers'];
$_SESSION['userUid'] = $row['uidUsers'];
header("Location: ../index.php?login=success");
exit();
}
else {
header("Location: ../index.php?error=wrongpassword");
exit();
}
}
else {
header("Location: ../index.php?error=nouser");
exit();
}
}
}
}
else {
header("Location: ../index.php");
exit();
}
最后连接到我的数据库
$servername = "localhost";
$dBUsername = "root";
$dBPassword = "";
$dBName = "loginsystemtut1";
$conn = mysqli_connect($servername, $dBUsername, $dBPassword, $dBName);
if(!$conn) {
die("Connection failed " .mysqli_connect_error());
}
任何帮助将不胜感激,因为明天是最后期限。