即使重定向页面后如何保持表单值

时间:2015-05-11 12:42:16

标签: javascript php forms redirect form-submit

这不是一个简单的"发布后#34;情况,因为,页面被重定向回到这里。

我有一个大的形式,大约有20个或更多的输入字段。

因此,用户填写表单并提交,并在服务器端验证后(如果有错误),用户将被重定向回与表单相同的页面。但没有价值观。所以,他每次只是因为一个错误的输入而必须填满整个事情。

那么,如何克服这个问题...

我见过有人建议使用$ _SESSION来保存这些数据。安全吗?我有超过20个输入和那种大量的数据..

1 个答案:

答案 0 :(得分:1)

如果您没有使用某个PHP框架,有几种方法可以做到这一点。

1)是的,如果您在提交后遇到某个无效字段,则可以使用$ _SESSION存储信息。请记住使用session_start()来启动/访问会话。这是一种安全的方法,除非你担心会话劫持;但这是一个不同的主题,有自己的预防方法。

2)您可以将表单提交到与表单HTML(或需要HTML表单本身的页面/功能)相同的页面。如果$_POST不为空或已设置,您可以在开头检查。如果是这样,您可以执行字段检查并插入数据库。如果遇到无效字段,则可以继续(或要求)表单HTML。您仍然可以访问$ _POST,因此您可以再次填写表单字段。您的代码可以

<input type="text" name="first_name" value="<?php if(isset($_POST['first_name'])) echo $_POST['first_name'];?>" />

我认为这是处理问题的正确方法,因为这是一种非常优化的方式,而不是以这种方式使用$ _SESSION的麻烦。我认为您不需要为您的案例“存储”数据。