簡體   English   中英

PHP存儲會話數據,在會話中存儲用戶標識

[英]PHP storing session data, storing userid in session

抱歉,我是新來的。 以下代碼僅顯示“請登錄”。 代碼確實可以工作,但是它沒有按照我想要的去做,我正在嘗試將userid存儲在會話中。 這是我的代碼

<?php

    if(!isset($_SESSION)) session_start();


    if(isset($_POST['userid'])){
         $userid = $_POST['userid']; 
         $_SESSION['userid']=$userid;
         echo "Welcome $_SESSION[userid]";
    }

    if (!isset($_SESSION['userid'])){
        echo "Please login";
        exit;
    }
    ?>

session_start(); 不應該處於您的if條件,它必須在腳本的開頭並始終啟動

<?php

    session_start();


    if(isset($_POST['userid'])){
        $_SESSION['userid']= $_POST['userid'];
        echo "Welcome ".$_SESSION['userid'];
    }

    if (!$_SESSION['userid']){
        echo "Please login";
        exit;
    }

session_start()應該在開始時沒有任何條件。 還有第二個if條件語句中的一個額外的右括號()。 嘗試這個:

 <?php
   session_start();


        if(isset($_POST['userid'])){
            $_SESSION['userid']= $_POST['userid'];
            echo "Welcome {$_SESSION['userid']}";
        }

        if (!$_SESSION['userid']){
            echo "Please login";
            exit;
        }
  • session_start()必須在開始使用會話之前。
  • 我建議您用empty()替換isset(),因為empty()檢查了:
    • “”(空字符串)
    • 0(0為整數)
    • 0.0(0為浮點數)
    • “ 0”(0作為字符串)
    • 空值
    • array()(一個空數組)
    • 是$ var; (已聲明變量,但沒有值)

謝謝回答。 現在有效,我也定義了錯誤的會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM