php - 使用 session 登录

标签 php html css

我已经创建了一个登录页面,并在一个单独的文件中为其编写了 PHP 代码。登录后,页面应重定向到特定用户的报告。相反,它会转到一个白色的空白页。可能是什么错误?

登录.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);
}
?>

我犯了什么愚蠢的错误?很长一段时间以来,我一直在努力解决这个问题,但没能成功 :-( 提前致谢。

最佳答案

您的 PHP 页面上没有 session_start(),当您处理 session 时,它应该始终位于顶部。另外,为什么不在您的 PHP 页面上启用错误报告,或者至少去看看您的 Web 服务器上的错误日志,看看它给您带来了什么错误。

关于php - 使用 session 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27396785/

相关文章:

html - CSS 选择器形式 :last-child doesn't work

Javascript 分割字符串在 .但不是 。引号后

html - 如何打印 iframe?

css - 使用 CSS3 创建这个形状

javascript - 使用按钮删除整个 session 的消息?

php - 制作第一个登录系统。选择 SQL 列不起作用?

php - 从数据库加载 jreviews 字段

php - 如何将 $request 添加到构造方法中?

css - 声明的 @import 与 CSS 中编译的 @import 的好处

php - IRC相关帮助