【问题标题】:Set Session With Post Data使用发布数据设置会话
【发布时间】:2017-07-06 02:16:18
【问题描述】:

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

这是我的 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 时,它正在重定向,这意味着会话未解决。

你能告诉我我哪里做错了吗?如果您解释一下并告诉我代码应该是什么样子,那就太好了。

谢谢。

【问题讨论】:

标签: php mysql session


【解决方案1】:

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

【讨论】:

  • &lt;?php include "koneksi.php"; 就在这行之后?
  • 这样做..
猜你喜欢
  • 1970-01-01
  • 2016-02-10
  • 2015-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-08
  • 2017-12-21
相关资源
最近更新 更多