为了账号安全,请及时绑定邮箱和手机立即绑定

PHP:在多步骤注册表单中正确使用会话

PHP:在多步骤注册表单中正确使用会话

PHP
元芳怎么了 2022-10-22 15:37:58
我做了一个 3 步(3 个不同的页面)注册过程:第一步:用户提供基本信息(姓名、密码、性别、生日等)第二步:用户提供额外信息(关于、职业、兴趣等),提交数据并获得验证链接第三步:显示注册状态(成功或失败)我使用会话主要存储信息。像这样的会话变量$_SESSION["step_one_complete"]告诉我上一步已完成,这是必需的。我在signup.php页面开头使用了以下代码,以便每次signup.php加载前一个会话数据时都会被清除:<?php //signup.php(step one)session_start();//Clear previous session data$_SESSION = array();//I'm not sure about the two lines bellowsession_destroy();//Restart sessionsession_start();...我需要我在代码中提到的两行吗?我是否正确使用了会话?还是有更好的方法来处理多步骤表单?谢谢!
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

你只需要start_session,你不需要覆盖或销毁它。


也许我没有正确理解这个问题,但是当您执行start_session() 时,您可以通过启动新会话或恢复现有会话来启用当前 php 脚本中的会话。我认为就您而言,这就是您所需要的。参考:PHP - session_start


另外,我认为覆盖会话是不好的做法,您也可以删除您不打算删除的内容。如果你想重置你的变量,我建议你将它们存储到一个数组中,比如


$_SESSION['form']['email']

然后如果你想重置 make


$_SESSION['form'] = array();

我认为如果你制作这样的结构,你可以做得更好:


function is_first_step_completed() // checks if the first step fields are filled or not

function is_second_step_completed() // checks if the second step has all fields completed

if (!is_first_step_completed()) {

// show first step

}

而不是存储变量 is_first_step_completed。如果您使用这样的变量,则需要始终将其设为真或假。


查看完整回答
反对 回复 2022-10-22
  • 1 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号