我的表单必须跨两页传递数据。
在第1页上,用户填写了一些详细信息。第2页向他们展示了一个确认屏幕,他们可以同意或返回并编辑他们的详细信息。
在第2页上,第1页的值存储在隐藏的表单字段中。
E.g。
<input type="hidden" name="user_email" value="email@test.com" />
当用户点击第2页上的提交时,会运行一些PHP代码并将其添加到网站中。
在第1页上,用户输入了密码,我关心的是我在第2页上的处理方式。我不认为在隐藏表单字段中输出密码是个好主意。运行的PHP无论如何都会散列这个密码,所以我想在第1页和第2页之间散列它,以便隐藏的表单字段的值是散列版本而不是纯文本。还有更好的方法吗?
答案 0 :(得分:3)
使用会话变量来存储此信息,永远不会将其作为隐藏表单字段传回页面。 $_SESSION
答案 1 :(得分:0)
将第1页中插入的数据输入到具有唯一哈希值的数据库表(称为pending_user_register
或其他东西)中(不要只使用唯一ID),然后在隐藏文本字段中引用唯一哈希值代替?
或者使用简单的路线并使用$ _SESSION。
或者,使用上面的方法,而不是将隐藏字段放在$ _SESSION。
中答案 2 :(得分:0)
您可以使用password_hash()
并将密码存储在session
或cookie
或可以将user data
存储在数据库中,并在user_id
中添加session
,并将id
用于以后updation of fields
。