页面PHP之间不保存$ _SESSION变量

时间:2018-04-01 17:24:59

标签: php html pdo session-variables

我试图使用登录系统将我的用户名保存到SESSION变量,但它不会保存。

我尝试在同一页面中立即打印会话变量,但是当我转到另一个页面时,它将无法保存。

我是非常新的这个东西,所以我很抱歉,如果这是显而易见的事情:)

任何帮助将不胜感激:)

PHP代码1:

e2 <- tsCV(tvis, rwf, h=24)

PHP CODE 2(下一页):

此页面只是一个包含其他内容的HTML页面,但在其正文中包含以下PHP代码,以测试它是否保存了变量。

$app->post('/api/customer/login/{Username}/{PassW}', function(Request $request, Response $response){
    $Username = $request->getParam('Username');
    $PassW = $request->getParam('PassW');

    $PassW = md5($PassW);//FIND NEW WAY OF HASHING AS MD5 IS DEPRECIATED
    $sql = "SELECT * FROM login WHERE Username= '$Username' AND PassW='$PassW' LIMIT 1";

    try{
        $db = new db();
        $db = $db->connect();

        $stmt = $db->query($sql);
        $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

        if(count($result) == 1){
        session_start();      
        $_SESSION['Username'] = $Username;

       echo "<script type='text/javascript'>alert('Correct!');
       window.location='http://localhost/testing/dashboard.php';
       </script>";
        exit();

2 个答案:

答案 0 :(得分:0)

此代码缺少session_start():PHP CODE 2(下一页)

应该是:

<?php
session_start();
print_r($_SESSION);
?>

答案 1 :(得分:0)

每当您在页面上使用会话时,您必须在该页面上启动会话,因此您在代码2页面上的代码应该是这样的

<?php session_start(); print_r($_SESSION); ?>

另外,在登录页面上添加相同的行

session_start();

如果您看起来一切正常,那么当您使用javascript重定向页面时,尝试从浏览器中删除缓存,浏览器可能会从缓存中加载页面。