Поместите переменную SESSION в другую переменную, удалите переменную содержимого SESSION - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть приложение в PHP 4.3.9, и у меня проблема с SESSION. Когда я помещаю переменную SESSION в другую переменную, например:

$tempInsInscription = $_SESSION['ins_inscription'];

$_SESSION['ins_inscription'] содержимое удалено.

Я не понимаю, почему. Это особенность PHP4?


EDIT

Я пробовал много случаев, чтобы найти, где именно я теряю свой контент, и это в foreach:

reset($tempInsInscription);
foreach($tempInsInscription as $key => $ins_inscription){
    if(is_array($ins_inscription)){
        reset($ins_inscription);
        foreach($ins_inscription as $key_etape => $etape){
            $_SESSION["dossier"][$key_etape]=$etape;
        }       
    }else{
        $_SESSION["dossier"][$key]=$ins_inscription;
    }
}

РЕШЕНИЕ

Я нашел решение, чтобы решить мою проблему. вот мой новый код и он отлично работает:

$tempInsInscription = $_SESSION['ins_inscription'];
$_SESSION['ins_inscription'] = $tempInsInscription;

reset($tempInsInscription);
while(list($key, $ins_inscription) = each($tempInsInscription)) {
    if(is_array($ins_inscription)){
        reset($ins_inscription);
        while(list($key_etape, $value_etape) = each($ins_inscription)) {
            $dossier[$key_etape]=$value_etape;
        }
    }else{
        $dossier[$key]=$ins_inscription;
    }
}

1 Ответ

0 голосов
/ 07 мая 2018

РЕШЕНИЕ

Я нашел решение, чтобы решить мою проблему. вот мой новый код и он отлично работает:

$tempInsInscription = $_SESSION['ins_inscription'];
$_SESSION['ins_inscription'] = $tempInsInscription;

reset($tempInsInscription);
while(list($key, $ins_inscription) = each($tempInsInscription)) {
    if(is_array($ins_inscription)){
        reset($ins_inscription);
        while(list($key_etape, $value_etape) = each($ins_inscription)) {
            $dossier[$key_etape]=$value_etape;
        }
    }else{
        $dossier[$key]=$ins_inscription;
    }
}
...