php检查URL参数的会话数据

时间:2013-02-03 00:18:10

标签: php session

我是php新手并且遇到以下问题。我想检查会话用户名以查看它是否与url参数匹配,然后打印一些东西:

<?php

  // Check User
    if (isset($_SESSION['user_name'] == $_GET['name'])) {

        //print html

    }
?>

即使会话名称与网址名称匹配,我也会在测试时获得空白页面。

4 个答案:

答案 0 :(得分:1)

您忘了开始使用isset()错误

<?php
  session_start();
  // Check User
    if ($_SESSION['user_name'] == $_GET['name']) {

        //print html

    }
?>

更好更完整的解决方案:

<?php
  session_start();
  // Check User
    if (isset($_SESSION['user_name']) 
        && isset($_GET['name']) 
        && $_SESSION['user_name'] == $_GET['name']) {

        //print html

    }
?>

答案 1 :(得分:0)

似乎你将isset函数的boolean结果与来自url的字符串名称进行比较。     

  // Check User
    if (isset($_SESSION['user_name'])&&isset($_GET['name'])) 
      if (($_SESSION['user_name'])==($_GET['name']))
{
        //print html
}

?>

答案 2 :(得分:0)

在检查会话之前启动会话

<?php
   session_start();
  // Check User
    if (isset($_SESSION['user_name']) == $_GET['name']) {

        //print html

    }
?>

答案 3 :(得分:0)

isset()函数中的逻辑错误,执行此操作:

if (isset($_SESSION['user_name']) && isset($_GET['name']) && $_SESSION['user_name'] == $_GET['name']) {

    //print html

}
在使用会话变量

的任何操作之前,

upd:并确定start_session()