2013-11-20 2 views
0

Я работаю над настройками конфигурации с 6 шагами. На каждом шаге я использую форму, которую я отправляю и сохраняю входные данные в переменных SESSION.Отправить форму, посетить следующую страницу, задать переменные сеанса

На каждом шагу у меня есть «следующая кнопка», которая должна отправить форму страницы и перенаправить на следующий шаг.

Этот фрагмент кода проверяет, существует ли кнопка отправки «wz_submit1», а затем сохраните переменные.

if(isset($_POST['wz_submit1'])) : 

    // Save wz_width in session 
    $wz_width = $_POST['wz_width']; 
    $_SESSION['wz_width'] = $wz_width; 

    // Save wz_height in session 
    $wz_height = $_POST['wz_height']; 
    $_SESSION['wz_height'] = $wz_height; 

endif; 

Это "следующая" кнопка:

<a class="wz_next_button" href="http://www.mynextstepurl.test">Next step</a> 

Это моя форма:

<form id="wz_form1" method="post"> 


     <ul class="wz_input"> 

      <li> 
       <label>A</label> 
       <input name="wz_width" id="wz_width" type="text" value="<?php if(isset($_SESSION['wz_width'])) : echo $_SESSION['wz_width']; endif; ?>" /> 
       <span>mm</span> 
      </li> 

      <li> 
       <label>B</label> 
       <input name="wz_height" id="wz_height" type="text" value="<?php if(isset($_SESSION['wz_height'])) : echo $_SESSION['wz_height']; endif; ?>" /> 
       <span>mm</span> 
      </li> 

     </ul><!--End wz_input--> 

     <input name="wz_submit1" type="hidden" /> 

    </form> 

Если я использую обычную кнопку отправки для "wz_submit1" он представляет вид право и сохраняет переменные в сеансе. Но после этого нет перенаправления на следующую страницу.

Если я поместил форму onclick submit на «следующую» ссылку, перенаправление на следующую страницу идет правильно, но мои переменные не будут установлены.

Надеюсь, вы понимаете мою проблему и надеетесь, что можете мне помочь.

Если у вас есть лучшее представление о том, как это сделать (например, без формы для каждой страницы), дайте мне знать.

Спасибо!

+0

Вы начали сеанс в верхней части каждой страницы? то есть 'session_start();' – Ali

+0

Да, я начал сеанс. – Robbert

ответ

0

вы можете сделать это таким образом ... когда форма представляет и все переменные будет сохранена, то он будет перенаправлять на следующую страницу ...

if(isset($_POST['wz_submit1'])) : 

// Save wz_width in session 
$wz_width = $_POST['wz_width']; 
$_SESSION['wz_width'] = $wz_width; 

// Save wz_height in session 
$wz_height = $_POST['wz_height']; 
$_SESSION['wz_height'] = $wz_height; 
header('Location : www.yournextpage.com'); 
endif; 

вашей следующей кнопкой, и от будет ...

<form method="post" action="samefile.php"> 
    //your other fields 
    <input type="submit" value="next" name="wz_submit1"/> 
</form> 
+0

Это не работает для меня. Получил ошибку и не перенаправил. – Robbert

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