登录表单首次显示成功登录

时间:2015-10-13 09:20:51

标签: php sql

他们的关键词搜索有点无意义,我找不到任何东西。希望你们帮助我。 这是代码:

<?php
    if(!isset($_SESSION['userid']))
    {
        include ("loginSection.php");
    }
    else
    {
        include ("loggedON.php");
    }
?>

它在我的标题中。它工作得很好,但问题是当用户名和密码正确时,它会第一次显示表单以及&#34;登录成功&#34;信息。但导航后会很好。无论如何在页面加载之前在会话中检查用户ID,所以它第一次没有显示登录表单?

 <?php
    if (!empty($_POST['userpassSubmit']))
    {
        $username = $_POST['username'];
        $password = $_POST['password'];

        $query = "SELECT id, username FROM users WHERE username = ? AND password = ? LIMIT 1";
        $statement = $databaseConnection->prepare($query);
        $statement->bind_param('ss', $username, $password);

        $statement->execute();
        $statement->store_result();

        if ($statement->num_rows == 1)
        {
            $statement->bind_result($_SESSION['userid'], $_SESSION['username']);
            $statement->fetch();
            echo "login successful";
        }
        else
        {
            echo "incorrect username password combination";
        }
    }        



    echo '
             <div class="row">
              <div class="col-sm-12 text-center">

                <form id="regForm" role="form" action='.$_SERVER['PHP_SELF'].' method="post" class="form-inline">
                    <div class="form-group">
                        <label for="username">username</label>
                        <input type="text" class="form-control" id="username" name="username"><br>
                    </div>
                    <div class="form-group">
                        <label for="password">password</label>
                        <input type="password" class="form-control" id="password" name="password"><br>
                    </div>
                    <input name="userpassSubmit" class="btn btn-default" type="submit" value="login">
                </form>

              </div>
         </div>';
?>

2 个答案:

答案 0 :(得分:0)

您需要创建注销页面或清除Cookie以显示您的登录页面。 在注销页面中,您需要销毁或取消设置会话。

**logout.php**

session_start();

    if(isset($_SESSION['userid']))
    {
        unset($_SESSION['userid']); 
    }

答案 1 :(得分:0)

对不起

我认为下面的代码会添加到您的loginSection.php页面

<?php
  session_start();

  if(isset($_SESSION['userid']))
  {

?>

  <script>

    window.location.href='loggedON.php';

  </script>

<?php

  }

    if (!empty($_POST['userpassSubmit']))
    {
        $username = $_POST['username'];
        $password = $_POST['password'];

        $query = "SELECT id, username FROM users WHERE username = ? AND password = ? LIMIT 1";
        $statement = $databaseConnection->prepare($query);
        $statement->bind_param('ss', $username, $password);

        $statement->execute();
        $statement->store_result();

        if ($statement->num_rows == 1)
        {
            $statement->bind_result($_SESSION['userid'], $_SESSION['username']);
            $statement->fetch();
            echo "login successful";
        }
        else
        {
            echo "incorrect username password combination";
        }
    }        



    echo '
             <div class="row">
              <div class="col-sm-12 text-center">

                <form id="regForm" role="form" action='.$_SERVER['PHP_SELF'].' method="post" class="form-inline">
                    <div class="form-group">
                        <label for="username">username</label>
                        <input type="text" class="form-control" id="username" name="username"><br>
                    </div>
                    <div class="form-group">
                        <label for="password">password</label>
                        <input type="password" class="form-control" id="password" name="password"><br>
                    </div>
                    <input name="userpassSubmit" class="btn btn-default" type="submit" value="login">
                </form>

              </div>
         </div>';
?>