php if session 声明变量

Posted

技术标签:

【中文标题】php if session 声明变量【英文标题】:Php if session declare variable 【发布时间】:2016-06-06 13:41:00 【问题描述】:

我有个小问题,我想根据session给一个变量赋值:

这是我的简单代码:

<?php
    if ( $_SESSION['admin_level'] == 10 )  
        $myvar = 'newclient';
     elseif ( $_SESSION['admin_level'] == 11 ) 
        $myvar = 'oldclient';
    
?>

这样,我可以查询:

$qry="SELECT * FROM client where client_status='".$myvar."'";

不幸的是,我无法声明变量并失败。感谢您的帮助

【问题讨论】:

你在任何其他输出之前是否使用过session_start();?你说它失败了——你看到了什么错误? 如果错误是在查询中,mysql 说没有结果,但是表示无法读取变量的值。警告:mysql_num_rows() 期望参数 1 是资源,给定的布尔值 您需要提供有关该错误的更多信息。问题可能是会话没有开始,就像上面的评论一样。您可以使用 echo 功能打印会话变量的值,以帮助您找到问题。另一个考虑因素是您的 if 没有 else 语句。 那么错误就在mysql_num_rows() 周围。请发布您的 SQL 查询周围的代码,因为这更相关 问题在于 PHP,因为我在 Echo 中看不到结果。请参阅: 这作品 【参考方案1】:

我不清楚问题。据我了解检查以下代码

 <?php
   session_start(); // this is the first thing to do

   if(isset($_SESSION['admin_level']))
        $_SESSION['admin_level']=10; //Set admin level if not available
    

   $var=($_SESSION['admin_level']==10)?"newclient":"oldclient";


   $qry="SELECT * FROM client where client_status='".$var."'";

【讨论】:

谢谢。现在,这行得通吗? 语法错误,意外';' * $var=($_SESSION['admin_level']==10)?"value1";* 您需要定义默认值。它是 IF.. ELSE.. $var=($_SESSION['admin_level']==10)?"value1":"value2"; 的快捷方式 我明白,但是当我有更多用户时会发生什么? admin_level 11,22,31,我想分配一个变量来按用户读取报告

以上是关于php if session 声明变量的主要内容,如果未能解决你的问题,请参考以下文章

PHP SESSION 机制

2017.8.01

(转)教你如何使用php session

如何删除php session文件

PHP提高SESSION响应速度的方法有哪些

PHPSession-完全PHP5之session篇