为什么我不能在 PHP 7 中访问我的会话变量?

威尔多夫

所以我正在尝试创建一个登录系统,并且我已经测试过 login.php 是否正确获取了 POST 数据,我可以在那里打印出来。但是我创建的应该发送回 index.php 并找到会话变量 'password' 设置并且不为空,但它总是再次打印登录页面。为什么我不能访问我的会话变量?

我的functions.php文件:

<?php

function sec_session_start() {
    $session_name = 'quassist_session';
    session_name($session_name);
    $secure = true;
    $httponly = true;
    if (ini_set('session.use_only_cookies', 1) === FALSE) {
        header("Location: ../error.php?err=Could not initiate a safe session (ini_set)");
        exit();
    }
    $cookieParams = session_get_cookie_params();
    session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], $secure, $httponly);
    session_start();
    session_regenerate_id(true);
}

function sec_session_logout() {
    $_SESSION = array();
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]);
    session_destroy();
}

?>

我的 login.php 文件:

<?php

include_once 'functions.php';

sec_session_start();
$_SESSION['username'] = $_POST['formuser'];
$_SESSION['password'] = $_POST['formpass'];
header("Location: index.php"); /* Redirect browser */
exit();

?>

我的 index.php 文件:

<?php
include_once("functions.php");
sec_session_start();

    echo "<html>";
    echo "<head>";
    echo "<title>Login</title>";
    echo "<link rel='stylesheet' href='style.css'>";
    echo "</head>";
    echo "<body>";

if(isset($_SESSION['password']) && !empty($_SESSION['password'])) {
    // user entered password
    echo $_SESSION['username'] . "<br>" . $_SESSION['password'];
    // logout
    // sec_session_logout();
} else {
    echo "<div class='login-page'>";
    echo "<div class='form'>";
    echo "<form class='login-form' action='http://www.quassist.com/login.php' method='post'/>";
    echo "<input name='formuser' type='text' placeholder='username'/>";
    echo "<input name='formpass' type='password' placeholder='password'/>";
    echo "<button type='submit' value='Submit'>login</button>";
    echo "</form>";
    echo "</div>";
    echo "</div>";
}

    echo "</body>";
    echo "</html>";
?>
威尔多夫

$secure = true;

仅当您使用 TLS/HTTPS 时才能使用。否则它会阻止 cookie 工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不能在PHP函数中访问我的私有变量?

来自分类Dev

为什么我不能在 Windows 7 上安装 pip?

来自分类Dev

为什么我不能在PHP中比较这些数字?

来自分类Dev

为什么我的php文件不能在xamppp上运行?

来自分类Dev

为什么我不能在PHP中为类变量定义连接字符串?

来自分类Dev

为什么我不能在PHP中为类变量定义连接字符串?

来自分类Dev

如何在PHP中访问我的Javascript变量?

来自分类Dev

为什么我不能从另一个PHP页面访问我的静态变量

来自分类Dev

为什么我不能在Windows 7中格式化10 GB分区?

来自分类Dev

为什么我不能在Windows 7防火墙中设法阻止IP地址?

来自分类Dev

为什么我不能在Windows 7中禁用易用性工具?

来自分类Dev

为什么我不能在Windows 7中连接到此隐藏的无线设备?

来自分类Dev

为什么我不能在PHP函数中将函数作为默认变量提供?

来自分类Dev

为什么我的任何查询按钮都不能在我的php表单上工作?

来自分类Dev

为什么我不能在我的 XAMPP 上为这个 PHP 网站设置虚拟主机?

来自分类Dev

为什么我不能在Windows 7上使用Cygwin SSH从Github克隆存储库?

来自分类Dev

为什么我不能在iOS 7上正确使用Javascript日志控制台?

来自分类Dev

为什么我不能在iOS 7上正确使用Javascript日志控制台?

来自分类Dev

为什么我不能在Windows 7上编辑“程序文件”文件?

来自分类Dev

为什么我不能在设备上调试Delphi XE7 Android应用程序?

来自分类Dev

为什么我不能在Windows 7上使用Cygwin SSH从Github克隆存储库?

来自分类Dev

为什么我不能在PHP中更改日期格式

来自分类Dev

为什么我不能在关联数组 php 中取消设置数组

来自分类Dev

为什么我不能在 php 的 try 块中定义函数之前调用它

来自分类Dev

为什么我不能在这种雄辩的数据库调用方法中访问我的变量?

来自分类Dev

为什么我不能在班级中访问变量。Python

来自分类Dev

为什么我不能在PHP OpenSSL中将密钥长度<384bit用于EC?

来自分类Dev

为什么我不能在开机自检(php页面)中使用#(数字符号)作为值

来自分类Dev

为什么我不能在xampp中使用php编写文件?

Related 相关文章

  1. 1

    为什么我不能在PHP函数中访问我的私有变量?

  2. 2

    为什么我不能在 Windows 7 上安装 pip?

  3. 3

    为什么我不能在PHP中比较这些数字?

  4. 4

    为什么我的php文件不能在xamppp上运行?

  5. 5

    为什么我不能在PHP中为类变量定义连接字符串?

  6. 6

    为什么我不能在PHP中为类变量定义连接字符串?

  7. 7

    如何在PHP中访问我的Javascript变量?

  8. 8

    为什么我不能从另一个PHP页面访问我的静态变量

  9. 9

    为什么我不能在Windows 7中格式化10 GB分区?

  10. 10

    为什么我不能在Windows 7防火墙中设法阻止IP地址?

  11. 11

    为什么我不能在Windows 7中禁用易用性工具?

  12. 12

    为什么我不能在Windows 7中连接到此隐藏的无线设备?

  13. 13

    为什么我不能在PHP函数中将函数作为默认变量提供?

  14. 14

    为什么我的任何查询按钮都不能在我的php表单上工作?

  15. 15

    为什么我不能在我的 XAMPP 上为这个 PHP 网站设置虚拟主机?

  16. 16

    为什么我不能在Windows 7上使用Cygwin SSH从Github克隆存储库?

  17. 17

    为什么我不能在iOS 7上正确使用Javascript日志控制台?

  18. 18

    为什么我不能在iOS 7上正确使用Javascript日志控制台?

  19. 19

    为什么我不能在Windows 7上编辑“程序文件”文件?

  20. 20

    为什么我不能在设备上调试Delphi XE7 Android应用程序?

  21. 21

    为什么我不能在Windows 7上使用Cygwin SSH从Github克隆存储库?

  22. 22

    为什么我不能在PHP中更改日期格式

  23. 23

    为什么我不能在关联数组 php 中取消设置数组

  24. 24

    为什么我不能在 php 的 try 块中定义函数之前调用它

  25. 25

    为什么我不能在这种雄辩的数据库调用方法中访问我的变量?

  26. 26

    为什么我不能在班级中访问变量。Python

  27. 27

    为什么我不能在PHP OpenSSL中将密钥长度<384bit用于EC?

  28. 28

    为什么我不能在开机自检(php页面)中使用#(数字符号)作为值

  29. 29

    为什么我不能在xampp中使用php编写文件?

热门标签

归档