设置发布数据的会话

时间:2017-07-06 02:16:19

标签: php mysql session

所以我试图使用基于laravel的登录表,这是我甚至不能将它与基本的php哈希登录进行比较的哈希。不,你不能让哈希看起来像laravel。但我使用来自remember_token表格的users

以下是我的laravel视图中的代码:

<form action="http://localhost/log/index.php" method="post">
       <input type="hidden" value="{{ Auth::user()->remember_token }}" name="wex">
       <button type="submit" class="btn btn-default">Check</button>
</form>

正如您所看到的,我尝试发布remember_token值,我将http://localhost/log/index.php作为变量收到。

Index.php(请记住,这不是使用laravel):

<?php
    include "koneksi.php";

    if (isset($_POST['wex'])) {
        $token = $_POST['wex'];
        $query = "SELECT * FROM users WHERE remember_token = '". $token ."'" ;
        $result = mysqli_query($db_link,$query);

        if (mysqli_num_rows($result) != 1) {
            header("Location: http://localhost/laralearn/public/login");
        }

        session_start();
        $_SESSION['user'] = "member";
    }
    else{

        if(!isset($_SESSION['user'])){
            header("Location: http://localhost/laralearn/public/login");
        }
    }


?>

如果remember_token无效(工作),则变量和页面重定向,但我无法设置会话。当我尝试在新标签页上打开index.php时,它会重定向,这意味着会话无法解决。

你能告诉我我做错了什么吗?如果你解释它并告诉我代码应该是什么样的,那将是很好的。

谢谢。

1 个答案:

答案 0 :(得分:1)

session_start();放在PHP标记下面。必须在有任何输出之前调用它,并且只是为了安全起见,在其他任何调用之前包含它。