Comment résoudre le problème obsolète session_register()
dans PHP 5.3
Utilisez $_SESSION
directement pour définir des variables. Comme ça:
$_SESSION['name'] = 'stack';
Au lieu de:
$name = 'stack';
session_register("name");
avant PHP 5.3
session_register("name");
depuis PHP 5.3
$_SESSION['name'] = $name;
si vous avez besoin d'une fonction de secours, vous pouvez l'utiliser
function session_register($name){
global $$name;
$_SESSION[$name] = $$name;
$$name = &$_SESSION[$name];
}
Pour compléter la réponse de Felix Kling , j'étudiais une base de code qui comportait le code suivant:
if (is_array($start_vars)) {
foreach ($start_vars as $var) {
session_register($var);
}
} else if (!(empty($start_vars))) {
session_register($start_vars);
}
Afin de ne pas utiliser session_register, ils ont effectué les ajustements suivants:
if (is_array($start_vars)) {
foreach ($start_vars as $var) {
$_SESSION[$var] = $GLOBALS[$var];
}
} else if (!(empty($start_vars))) {
$_SESSION[$start_vars] = $GLOBALS[$start_vars];
}