2013-11-21 3 views
0

Я работаю над процессами, когда клиент может заполнить свои размеры, а затем может отправить форму, данные которой будут сохранены в переменных SESSION и будут отображаться на странице, чтобы клиент мог смотреть его конфигурации.Сохранить форму отправить в СЕССИЯ

Я сохраняю свою отправку в $ _SESSION ['wz_submit_saving_1'] и использую оператор If, чтобы проверить, отправлена ​​ли форма, чтобы можно было отобразить конфигурацию.

<?php // Save submit 
$wz_submit_saving_1 = $_POST['wz_submit_saving_1']; 
$_SESSION['wz_submit_saving_1'] = $wz_submit_saving_1; 

if(isset($_SESSION['wz_submit_saving_1'])) : 

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

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

endif; ?> 

Моя проблема заключается в том, что если я использую если (Исеть ($ _ SESSION [ «wz_submit_saving_1»])) для показа конфигурации, он отображает хорошо после представить, но если я обновить страницу конфиг ушел.

Если я использую if (isset ($ _ SESSION ['wz_saving_a'])) (поле измерения) и обновляет страницу, конфигурация практически отсутствует. Но я хочу использовать сохраненную переменную сеанса отправки для проверки отправки формы. Может ли кто-нибудь сказать мне, что я делаю неправильно?

<?php if(isset($_SESSION['wz_submit_saving_1'])) : ?> 

<div id="wz_config_1" class="wz_config"> 

    <ul> 
     <li>Dimensions</li> 
     <li>A: <?php if(isset($_SESSION['wz_saving_a'])) : echo $_SESSION['wz_saving_a']; endif; ?></li> 
     <li>B: <?php if(isset($_SESSION['wz_saving_b'])) : echo $_SESSION['wz_saving_b']; endif; ?></li> 
    </ul> 

</div><!--End wz_config_1--> 

<?php endif; ?> 

Форма:

<form method="POST"> 

    <label>A</label> 
    <input name="wz_saving_a" type="text" /> 

    <label>B</label> 
    <input name="wz_saving_b" type="text" /> 

    <input name="wz_submit_saving_1" type="submit" class="add_button" value="Add" /> 

</form> 
+1

Где ваш 'session_start()'? – naththedeveloper

+0

Извините, в верхней части моей страницы. – Robbert

ответ

1

Вы освежать ту же страницу, не делая POST?

Это может быть связано с кодом здесь:

$wz_submit_saving_1 = $_POST['wz_submit_saving_1']; 
$_SESSION['wz_submit_saving_1'] = $wz_submit_saving_1; 

Потому что вы просто делаете GET на обновления, переменная сеанса wz_submit_saving_1 в перезаписи пустой переменной в wz_submit_saving_1 POST.

EDIT:

<?php // Save submit 
if(isset($_POST['wz_submit_saving_1'])) : 
    $_SESSION['wz_submit_saving_1'] = $_POST['wz_submit_saving_1']; 

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

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

endif; ?> 
+0

Да, я обновляюсь, не делая POST. Итак, вы говорите, что я не могу проверить его с помощью переменной сеанса отправки? – Robbert

+0

Если вы обновляетесь на той же странице, переменная 'wz_submit_saving_1' всегда будет иметь пустое значение (потому что вы не предоставляете переменные POST при обновлении, а только GET). – russellc

+0

Хорошо, я понимаю. Так что твой совет? Использование других переменных для проверки? – Robbert

0
<?php // Save submit 
if(isset($_POST['wz_submit_saving_1'])){ 
    $_SESSION['wz_submit_saving_1'] = $_POST['wz_submit_saving_1']; 
} 
if(isset($_SESSION['wz_submit_saving_1'])) : 

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

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

endif; ?> 
+0

. Это не работает, у вас такая же проблема .. – Robbert

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