亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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 關注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號