2014-01-18 6 views
0

У меня есть следующий PHP код:Переменные сессии не хранятся

session_start(); 
$zip = $_GET['zip']; 
$_SESSION['zip'] = $zip; 
echo $_SESSION['zip']; //output is 98121, or whatever value I assigned 

Тогда, когда я иду на следующую страницу, используя следующий код:

<div id="heading"><h2>What day and time would you like your stuff picked up?</h2></div> 


<div class="nav_buttons"> 
      <button class="previous">Previous</button> 
      <button class="next">Next</button> 
</div><!--end nav_buttons--> 
<form action="/wordpress/junk-details" method="post"> 
<?php for($j = 0; $j < 7; $j++): ?> 
    <div class="date_container" id="date_container_<?php echo $j;?>" > 
     <?php for($i = 0; $i < 7; $i++): ?> 
      <div class="day"> 
       <div class="date" id=""> 

       </div><!--end date--> 
      </div><!--end day--> 
     <?php endfor; ?> 

    </div><!--end date_container--> 
<?php endfor; ?> 
<div class="nav_buttons"> 
      <button class="next" id="goto_step2" type="image" value="next step"><span>Next Step: Details</span></button> 
</div><!--end nav_buttons--> 
</form> 

и я делаю var_dump($_SESSION), значение есть NULL. Я проверил файл php.ini, но не видел ничего необычного. Я искал другие подобные темы на SO, но ни один из них не помог.

Вот список ссылок, я попытался:

PHP Session data not being saved

PHP Session not Saving

PHP Session Data Not Being Stored

Вот некоторые детали, которые могут помочь:

Я использую PHP 5.5.3

Я использую Mac OSX 10.9

Я использую локальный сервер в качестве сервера

Этого вопроса находится на как Chrome и Firefox браузеры

Это WordPress сайт

Я не уверен, что это может быть. Мои сеансы работы, когда я использую их на задней части моего Wordpress плагин

+1

ли следующая страница также содержит 'session_start(); '?Это не так, из того, что я могу сказать. –

+0

Нет. Он не содержит 'session_start()' – BlackHatSamurai

+0

Тогда это ваша проблема. Если вы хотите, чтобы ваши переменные сеанса отображались на любой другой странице, они должны быть включены. –

ответ

2

Если вы хотите, чтобы ваши переменные сессии, чтобы появиться на любой другой странице, то session_start(); должны быть включены внутри всех страниц с помощью sessions.


Сноски:

Если вам случится в будущем, чтобы получить следующее сообщение об ошибке: headers already sent, вы можете добавить ob_start(); чуть выше session_start();

Соответствующие ссылки:

+0

Я чувствую себя настолько глупо ... Lol ... – BlackHatSamurai

+0

Нет, biggie, эй, это случилось со мной слишком назад. Просто делясь богатством ;-) @Blaine –

+0

Lol ... Я знаю, как это происходит. Я ценю быстрый ответ, и вы делитесь богатством. Я уверен, что смогу передать это в какой-то момент. – BlackHatSamurai

0

добавить session_start(); в верхней части страницы, в которой вы хотите set session переменной или retrive session значение переменной

Смежные вопросы