我已经创建了一个登录页面,并且已经在单独的文件中为它编写了php代码。登录后,该页面应重定向到特定用户的报告。相反,它转到一个白色的空白页面。可能是什么错误?
的login.html
<!DOCTYPE html>
<html lang="en">
<head>
<link href="css1/login_style.css" rel="stylesheet" type="text/css">
<link href="css1/font-awesome.css" rel="stylesheet" type="text/css">
<link href="css1/font-awesome.min.css" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="img/favicon.ico"/>
<link rel="apple-touch-icon" href="img/favicon.png"/>
</head>
<body>
<div class="logo"></div>
<div class="login"> <!-- Login -->
<h1> Login</h1>
<form class="form" method="POST" action="loginaction.php">
<p class="field">
<input type="text" name="login" placeholder="id" required/>
<i class="fa fa-user"></i>
</p>
<p class="field">
<input type="password" name="password" placeholder="Password" required/>
<i class="fa fa-lock"></i>
</p>
<p class="submit"><input type="submit" name="commit" value="Login"></p>
<p class="remember">
<input type="checkbox" id="remember" name="remember" />
<label for="remember"><span></span>Remember Me</label>
</p>
<p class="forgot">
<a href="#">Forgot Password?</a>
</p>
</form>
</div> <!--/ Login-->
</body>
</html>
以下是用于登录的php代码,
loginaction.php
<?php
if( $_SESSION["logging"]&& $_SESSION["logged"])
{
header("Location:view_restreport.php");
}
else {
if(!$_SESSION["logging"])
{
$_SESSION["logging"]=true;
header("Location:index.php");
}
else if($_SESSION["logging"])
{
$number_of_rows=checkpass();
if($number_of_rows>=1)
{
$_SESSION[user]=$_GET[userlogin];
$_SESSION['logged']=true;
header("Location:view_restreport.php");
}
}
}
function checkpass()
{
$servername="localhost";
$username="root";
$conn= mysql_connect($servername,$username)or die(mysql_error());
mysql_select_db("konjam_disc",$conn);
$sql="select * from users where name='$_GET[userlogin]' and password='$_GET[password]'";
$result=mysql_query($sql,$conn) or die(mysql_error());
return mysql_num_rows($result);
}
?>
我犯了什么愚蠢的错误?我已经试图弄清楚它已经很长一段时间但是还没有能够:-( 提前谢谢。
答案 0 :(得分:0)
您的PHP页面上没有session_start(),在处理会话时应始终位于顶部。另外,为什么不在PHP页面上启用错误报告,或者至少要查看Web服务器上的错误日志以查看它给您带来的错误。
答案 1 :(得分:0)
从查询中删除php变量的好习惯,
$sql="select * from users where name='".$_GET['userlogin']."' and password='".$_GET['password']."'";
在你的php脚本的乞讨中也不要忘记session_start();
。
答案 2 :(得分:0)
在你的使用POST方法。在查询中,您使用$ _GET变量 还需要转义变量。