PHP存储会话数据,在会话中存储userid

时间:2015-05-06 08:46:43

标签: php session userid storing-data

抱歉,我是新来的。以下代码仅显示“请登录”。代码确实有效,但它没有按照我的意愿行事,我正在尝试将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;
    }
    ?>

4 个答案:

答案 0 :(得分:0)

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;
    }

答案 1 :(得分:0)

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;
        }

答案 2 :(得分:0)

  • session_start()需要在您开始使用会话之前。
  • 我建议你用empty()替换isset(),因为empty()选中了:
    • “”(空字符串)
    • 0(0为整数)
    • 0.0(0作为浮动)
    • “0”(0作为字符串)
    • NULL
    • FALSE
    • array()(空数组)
    • $变种; (声明的变量,但没有值)

答案 3 :(得分:0)

感谢您的回答。它现在有效,我也定义了错误的会话。