在SESSION中保存表单提交 [英] Save form submit in SESSION

查看:207
本文介绍了在SESSION中保存表单提交的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在处理一个程序,客户可以填写自己的尺寸,然后可以提交表格,然后将数据保存在SESSION变量中并显示在页面上,以便客户可以查看他的配置.

I am working on a proces where a customer can fill in his dimensions and then can submit a form which data then will be saved in SESSION variables and will be displayed on the page, so the customer can watch his configuration.

我将提交保存在$ _SESSION ['wz_submit_saving_1']中,并使用If语句检查是否提交了表单,以便可以显示配置.

I save my submit in $_SESSION['wz_submit_saving_1'] and use an If statement to check if the form is submitted so the config can be displayed.

<?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; ?>

我的问题是,如果我使用if(isset($ _ SESSION ['wz_submit_saving_1']))显示配置,则提交后显示良好,但是如果刷新页面,配置就消失了.

My problem is that if I use if(isset($_SESSION['wz_submit_saving_1'])) for showing the config, it displays well after submit, but if I refresh the page the config is gone.

如果我使用if(isset($ _ SESSION ['wz_saving_a']))(维度字段)并刷新页面,则配置就差不多了.但是我想使用保存的提交会话变量来检查是否提交了表单.有人可以告诉我我在做什么错吗?

If I use if(isset($_SESSION['wz_saving_a'])) (the a dimension field) and refresh the page, the config is almost there. But I want to use the saved submit session variable for checking if the form is submitted. Can someone tell me what I am doing wrong?

<?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>   

推荐答案

您是否在不执行POST的情况下刷新同一页面?

Are you refreshing the same page without doing a POST?

可能是由于此处的代码所致

It may be due to the code here:

$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变量覆盖.

Because you're just doing a GET on refresh, the session variable wz_submit_saving_1 is being overwritten by an empty wz_submit_saving_1 POST variable.

<?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; ?>

这篇关于在SESSION中保存表单提交的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆