web-dev-qa-db-fra.com

Comment résoudre le problème obsolète session_register ()?

Comment résoudre le problème obsolète session_register() dans PHP 5.3

42
learner

Utilisez $_SESSION directement pour définir des variables. Comme ça:

$_SESSION['name'] = 'stack';

Au lieu de:

$name = 'stack';
session_register("name");

Lire la suite ici

24
shamittomar

avant PHP 5.3

session_register("name");

depuis PHP 5.3 

$_SESSION['name'] = $name;
17
Serhii Koval

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]; 
}
10
wutzebaer

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];
}
0
Pedro Pinheiro