如何通过php页面传递session_id()?

nec*_*tar 1 php session sessionid

当用户点击登录按钮(index.php)时,我正在调用chechlogin.php,我在这里检查loginId密码为 -

if($count==1)
{
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword"); 
$_SESSION['UserId'] = $myusername;
$_session['SessionId'] = session_id();
header("location:LoggedUser.php");
}
Run Code Online (Sandbox Code Playgroud)

LiggedUser.php中

<?php session_start();  //starting session
Run Code Online (Sandbox Code Playgroud)

if(!isset($ _ SESSION ['SessionId'])|| $ _SESSION ['SessionId'] ==''){header("location:index.php"); }?>

问题:它总是回到index.php页面,虽然我输入正确的用户名和密码.我认为session_id()工作不正常或??

Pio*_*ski 5

将$ _session更改为$ _SESSION.

btw session_register已弃用,不应使用.有关详细信息,请参阅会话注册手册

顺便说一句#2.您不需要在$ _SESSION中存储sessionId,UserId就足够了.所以你的代码看起来像:

的login.php

if ($count == 1) {
    $_SESSION['UserId'] = $myusername;
    header ("location: LoggedUser.php");
    exit;
}
Run Code Online (Sandbox Code Playgroud)

loggeduser.php

if (empty ($_SESSION['UserId'])) {
    header ("location:login.php");
    exit;
}

// user is logged 
Run Code Online (Sandbox Code Playgroud)

编辑: 退出添加为埃米尔建议.