网站上的许多表格都调用相同的文件来处理它们的PHP



我在带有多种表格的网站上工作。所有这些表格都在单个PHP文件中。我只包括使用默认表单的文件。提交默认表格后,将转到文件中的下一个。我需要将某些表格的数据传递给其之后的数据。我的问题是我可以将字段的值设置为全局变量,以便我不必在隐藏的字段或使用会话变量中传递它?

我认为您没有选项...会话是最好的方法,而且它不必很麻烦,您可以通过执行整个$ _post阵列来保存整个$ _post Array类似:

$_SESSION['previousPost'] = $_POST;

no 这是不可能的...您将必须使用隐藏或会话。

当页面发送到客户端时,所有PHP页面变量都过期,如果您需要在上面的页面上,则需要在服务器或客户端上保存数据

您可以举例说明您要传递的数据吗?最终取决于您希望数据持续多长时间。如果用户让会话过期,则您将丢失该数据,并且可能应该将其存储在隐藏的字段中。否则,会话应该没事。

$_SESSION['key'] = 'val';

首先,一旦PHP将来将成为一场维护噩梦。但这不是您的问题...如果您要去此路线,则可以发布到包含表格的相同脚本。在每个连续提交中,您可以添加到全局$ _ post变量中。

诀窍是确保您继续使用以下每项提交的情况来传递上一个表单的数据。这意味着您可能必须维护上一个表单数据的隐藏字段 - 它不优雅,并且容易出现问题,例如这是线性工作流(单向)。

您最好在会话中维护数据或会话中的序列化对象(带有适当的访问者)。如果您有一个数据库,则可以随时在步骤中构建单个记录,将记录的列填充每个表单提交。

是的,您可以在会话中设置它您可以在这样的会话中设置它:

$_SESSION[key]=value;

可能更好地练习使用MySQL或其他数据库存储这些值,然后根据需要在后续表单上从数据库中绘制它们。根据一个大PHP文件的结构的不同,赔率需要一个页面刷新才能到达下一张表格,在这种情况下,如果您不需要MySQL数据库的数据持久性,我会强烈建议您创建会话,将数据从会话中的第一个形式存储,将该会话带到下一个表单,并使用会话变量中的数据访问您需要的值。

相关内容

  • 没有找到相关文章