session_start();
if (!session_is_registered(user)) {
header("Location: login.php");
die();
}
¿Cuál es la forma correcta de hacerlo desde que session_is_registered()
está en desuso?Alternativa para la sesión obsoleta_registrada
session_start();
if (!session_is_registered(user)) {
header("Location: login.php");
die();
}
¿Cuál es la forma correcta de hacerlo desde que session_is_registered()
está en desuso?Alternativa para la sesión obsoleta_registrada
En la página login.php, si su nombre de usuario y contraseña se corresponde entonces sería registrar al usuario por
session_register("y"); //where y register the user
header("location:user.php&name=$y");
En la página user.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
}
isset() no hará todo lo que quiera todo el tiempo. Fallará si 'usuario' es falso (0, falso, nulo, cadena vacía). array_key_exists() coincidirá con la tabla de verdad de session_is_registered, a pesar de lo php.net dice:
if (!array_key_exists('user', $_SESSION)){
/* 'user' is in the session */
}
//in other words...
if (array_key_exists('user', $_SESSION) === session_is_registered('user')) {
/* This is always executed */
}
Sería de gran ayuda si "ellos" se puso un aviso en el manual de PHP como a la función de sustitución "recomendado" cuando algo es obsoleto. – salonMonsters