Php 已注册不推荐使用的会话的替代项

Php 已注册不推荐使用的会话的替代项,php,Php,既然session\u已注册()已被弃用,那么正确的方法是什么?使用if(在login.php页面中设置($\u session['user']){},如果您的用户名和密码匹配,那么它将通过 session_start(); if (!session_is_registered(user)) { header("Location: login.php"); die(); } 在user.php页面中 session_register("y"); //where y regist

既然
session\u已注册()
已被弃用,那么正确的方法是什么?

使用
if(在login.php页面中设置($\u session['user']){}
,如果您的用户名和密码匹配,那么它将通过

session_start();
if (!session_is_registered(user)) {
    header("Location: login.php");
    die();
}
在user.php页面中

session_register("y"); //where y register the user
header("location:user.php&name=$y");
isset()不会一直做你想做的事情。如果“user”是falsy(0,false,null,空字符串),则它将失败。array_key_exists()将匹配会话_is_registed的真值表,不管php.net怎么说:

如果(!array\u key\u存在('user',$\u会话)){
/*“用户”在会话中*/
}
//换句话说。。。
如果(数组\u键\u存在('user',$\u SESSION)==会话\u已注册('user')){
/*这总是要执行的*/
}

我会这样做,然后放一个else标题(“Location:index.php”);模具();或者死();不需要吗?退出;应始终在使用header()重定向后使用。die可能也能工作。如果“他们”能在php手册中发布一条关于“推荐的”替换函数的通知,这会很有帮助。
session_start();
if(!isset( $_SESSION['y'] )) // if the user is not the same user that logged in then 
{                            // it redirects to the login page
    header("location:login.php");
}
if (empty($_SESSION['user'])){
    // session user does not exist
}