2015-05-16 4 views
0

я понятия не имею, что случилось с сеансовых переменных в моем коде ... Вот отрывок:Что с переменные сессии

файл 1:

display_test(); 

    function display_test(){ 
     if(isset($_SESSION['testing']['testing'])) echo $_SESSION['testing']['testing']; 

     echo "<br><br><br><form id=\"current_juices_form\" method=\"post\" action=\"file2.php\"> 
       <input type=\"submit\" /> 
      </form>"; 
    } 

Файл 2 (файл выше форма получения представляется слишком):

testing(); 

function testing(){ 
    unset($_SESSION); 
    $_SESSION['testing']['testing'] = "<br>testing<br>"; 
    header("Location: file1.php"); 
} 

по какой-то причине при перенаправлении обратно file1 после file2 осуществляется обработка после действия, это не распечатав переменной сессии $ _SESSION [ «тестирование»] [ «тестирование» ]...какие продолжается???

+1

ли вы session_start(); в обоих файлах? – jeff

+0

Да, я дважды проверял ... – dave

+0

Вы звоните/возвращаете функции (-ы)? –

ответ

2

Сначала необходимо инициализировать $ _SESSION ['testing'].

function testing(){ 
    if (!isset($_SESSION['testing'])) { 
     $_SESSION['testing'] = Array(); 
    } 

    $_SESSION['testing']['testing'] = "<br>testing<br>"; 
    header("Location: file1.php"); 
} 

Или вы можете сделать это, а также:

function testing(){   
    $_SESSION['testing'] = Array('testing' => "<br>testing<br>"); 
    header("Location: file1.php"); 
} 
+0

i c какой ур говорит, но в других частях моего кода я никогда не инициализировал двухсекундную переменную сессии, и они всегда работали ... id отправляют другой код, но его под nda .. – dave