【问题标题】:PHP multipage form data across sessions跨会话的 PHP 多页表单数据
【发布时间】:2016-05-01 17:37:47
【问题描述】:

我正在处理一个多页表单,用户可以在其中继续将数据表单逐页保存。 这是流程的一个想法:

第 1 页

<form action="page2.php" method="POST">
input data_page1
</form>

第 2 页

<?php
session_start();
session_register('data_page1');
$_SESSION['data_page1'] = $_POST['data_page1'];
?>

<form action="page3.php" method="POST">
input data_page2
</form>

第 3 页

<?php
session_start();
session_register('data_page2');
$_SESSION['data_page2'] = $_POST['data_page2'];
?>

if (!$_SESSION['data_page2']){
echo "Go back to ".'<a href="page2.php">'."page 2".'</a>';
}
else{
<form action="page4.php" method="POST">
input data page3
</form>
}

如果用户正确输入数据,一切正常。

如果他们在第 3 页忘记输入内容,则会被重定向回第 2 页。问题是当他们被重定向到第 2 页时,之前从第 1 页存储的数据会丢失。

这里是会话问题吗?

【问题讨论】:

  • 返回页面时检查是否分配了会话值
  • 你能举个例子吗?
  • 您只是想将数据从一个页面传递到另一个页面吗?
  • 是的,最后(6页后)我将所有数据传递到一个表中。

标签: php forms session


【解决方案1】:

它让你知道如何处理

session_start();

if(!isset($_SESSION['data_page1']))

{

  session_register('data_page1');


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

}

其他

{

 //user moving back 

 //how you want handle it write here

}

【讨论】:

  • 我尝试在表单中添加以下值:value="&lt;?php if(isset($_SESSION['data_page1'])){echo $_SESSION['data_page1'];}?&gt;" 它从第 2 页返回第 1 页,但不适用于其他,例如当您从第 3 页重定向回第 2 页时。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2011-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-08
  • 2014-07-18
相关资源
最近更新 更多