会话变量仅传递一次

时间:2019-05-09 05:47:58

标签: php html html5

我需要为用户会话使用恒定的用户标识符变量。我一直在尝试使用会话将其保持在伪全局变量状态,但这似乎不起作用。

基本上,我可以在A页中声明它并将其传递到B页或C页,但是我需要从A页传递到B页到C页。而且似乎不需要记住该变量B和C。

我已经尝试了几种尝试方法来使它起作用。显然,我确保页面以session_start()开头。

我用正确的语法声明并为会话变量分配了一个值。

可以从声明该变量的变量之后的任何变量读取该变量。但是,再次,如果我尝试再次传递该变量,它将不会再次读取。

我尝试不再声明它,再次声明它,将其保存到本地变量,关闭会话,开始新的会话,然后在该新会话中再次声明变量。似乎没有任何作用。

我还回显了session_id(),以确保它们都存储在同一位置。他们是。

A页

<?php
    session_start();
    include("database_config.php");
    echo session_id();
    if($_SERVER["REQUEST_METHOD"] == "POST") {

        $stmt = $DBH->prepare("SELECT ID FROM users WHERE username = '{$_POST['input_username']}' and password = '{$_POST['input_password']}'");
        $stmt->execute();
        if ($stmt->rowCount()==1){
            while ($row = $stmt->fetch()){
                $_SESSION["login_ID"] = "$row[0]";
            }
             echo "document.title = 'Login Success - '{$_SESSION['login_ID']}''";
        } else {
             echo "document.title = 'Login Fail'";
        }
    }
?>

页面B

<?php
    session_start();
    echo session_id();
    $login = $_SESSION['login_ID'];
    echo ($login);
?>

C页

<?php
    session_start();
    echo session_id();
    $login = $_SESSION['login_ID'];
    echo ($login);
?>

0 个答案:

没有答案