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

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

如何在類中啟動自定義會話函數

如何在類中啟動自定義會話函數

PHP
吃雞游戲 2023-05-12 15:41:03
我正在學習 php。我有一個類和一個函數來啟動自定義會話,如下所示,現在如何在每個 php 頁面中使用所述自定義 session_start?請幫忙。我的代碼就像<?php// myclass.phpclass abcd{    function sec_session_start() {    $session_name = 'sec_session_id';   // I have Set a custom session name    $secure = false;      $httponly = true;    if (ini_set('session.use_only_cookies', 1) === FALSE) {    $err='Could not initiate a safe session (ini_set)';    $err = Encryption::encode($err);                header("Location: ../login.php?error_msg=".$err);        exit();    }    // Gets current cookies params.    $cookieParams = session_get_cookie_params();    session_set_cookie_params($cookieParams["lifetime"],    //session_set_cookie_params(time()+3600,        $cookieParams["path"],         $cookieParams["domain"],         $secure,        $httponly);    // Sets the session name to the one set above.    session_name($session_name);        session_start();    session_regenerate_id(true);      }}?>在這種情況下,顯示以下錯誤: 注意:會話已經啟動 - 忽略 session_start()myphp 頁面如下 -<?php// mypage.phpinclude_once "myclass.php";$mevalue = new abcd;$mevalue->sec_session_start();code code code?>請幫我解決這個問題。
查看完整描述

1 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

會話應該持續整個頁面訪問,而不是在每個頁面上更新,例如,用戶登錄一次并將其存儲到會話中,因此用戶不需要為每個新頁面或點擊再次登錄。


大多數情況下,如果有人訪問您的頁面,會話就會開始,并一直持續到用戶離開頁面 -> 關閉會話。


最好的方法是檢查是否為該用戶打開了一個會話,只有在用戶沒有會話時才啟動一個會話。


要關閉會話,可以使用


 session_write_close ( void ) : bool

來源

有了這個,您可以更新代碼以具有get_session功能。在此功能中,您可以檢查會話是否存在并使用該會話,如果不存在則啟動一個新會話


class abcd{

    function init_session()

    {

        if (!isset($_SESSION)) {

            $this->sec_session_start();

        }

    }


    function sec_session_start() {....

在你的頁面中


$mevalue->init_session();


查看完整回答
反對 回復 2023-05-12
  • 1 回答
  • 0 關注
  • 153 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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