我创建了一个登录表单,该表单应在发送表单后将用户定向到该页面,但它只显示一个空白页
带有 **http://localhost/Cisu/AccHolder/holderlogin.php 的链接
登录表格
<?php
session_start();
?>
<!DOCTYPE html>
<html >
<head>
<title>Login</title>
<link type="text/css" rel="stylesheet" href="css/login.css">
</head>
<body>
<form method="" action="holderlogin.php">
<div class="container">
<div class="profile">
<button class="profile__avatar" id="toggleProfile">
<img src="images/sbma.png" alt="Avatar" />
</button>
<div class="profile__form">
<div class="profile__fields">
<div class="field">
<input type="text" id="user" name="user" class="input" required pattern=.*'S.* />
<label for="username" class="label">Username</label>
</div>
<div class="field">
<input type="password" id="pass" name="pass" class="input" required pattern=.*'S.* />
<label for="password" class="label">Password</label>
</div>
<div class="profile__footer">
<input id="Submit" name="Submit "type = "Submit" class="btn"/>
</div>
</div>
</div>
</div>
</div>
<script src="javascript/login.js"></script>
</form>
</body>
</html>
持有人登录.php
<?php
ob_start();
session_start();
include('dbconn.php');// Database connection and settings
// checking the user
if(isset($_POST['Submit'])){
$user = mysqli_real_escape_string($con,$_POST['user']);
$pass = mysqli_real_escape_string($con,$_POST['pass']);
$sel_user = "select * from tbl_accholder where accholder_Username='$user' AND accholder_Password='$pass'";
$run_user = mysqli_query($con, $sel_user);
$check_user = mysqli_num_rows($run_user);
if($check_user==1){
while ($row = mysqli_fetch_array($run_user)) {
$run_ID = $row['accholder_ID'];
$run_user = $row['accholder_Username'];
}
$_SESSION['accholder_Username']= $user;
$_SESSION['accholder_ID']= $run_ID;
header( 'Location: MainMenu.php');
} else
echo "please wait while redirecting...";
echo "<script> alert('Log-In Failed!'); </script>";
echo "<script> document.location.href = 'Login.php' </script>";
ob_end_flush();
}
?>
您正在检查是否设置了$_POST['Submit']
。
但是,在您的表单中,name
属性Submit
带有一个额外的空格:
<input id="Submit" name="Submit "type = "Submit" class="btn"/>
这可能是问题的原因,因为您说它向我显示了一个空白页。
- 您没有为表单列出任何方法,但正在检查 $_POST 数组以检查"提交"。它应该是:
<form method="POST" action="holderlogin.php">
不知道它是否导致了你的问题,但是你在php声明之前有一个前导空格 - 如果你在代码后面设置头请求,这可能会导致php渲染出现问题 - 在头请求之前不能呈现字符。
<?php
此外,您将表单的操作列为"持有人登录.php"
但将文件名列为"Holderlogin.php" - 这可能只是在此处输入代码时的拼写错误,但值得检查。