首页 > 解决方案 > PHP管理IF Else条件

问题描述

我有一个网站,其中根据查询字符串解析到 URL 创建会话。我正在阅读会话值,因此想要更改网站的标题。使用以下代码可以正常工作,但不会进入 elseif 条件。如果我尝试打印会话值,它会给我正确的回声,但条件无法正常工作。它适用于 If 和 else 但不能进入 ElseIf

<?php
    $clientID = "";
    $cid = $_GET['ciid'];
    $storeTitle = "";
    $storeDLogo = "";
    $storeGDlogo = "";
    $storeGMlogo = "";
    if (isset($_GET['ciid'])) {
        session_start();
        $_SESSION["mycid"] = $cid;
        $clientID = $_SESSION["mycid"];
    }


    //for FIEO
    if (isset($_SESSION["mycid"]) == "14"){
        $storeTitle = "Federation of Indian Exports Organization BrandSTORE";
        $storeDLogo = "/images/hid/figo-14.jpg";
        $storecolor1 = "#02ADF2"; //applied in header background
        $storecolor2 = "#FF9304"; //applied in mini header background 
        $storeGDlogo = "/images/hid/gl-14.jpg";
        $storeGMlogo = "/images/hid/gl-m-14.jpg";
    } elseif (isset($_SESSION["mycid"]) == "7"){ 
        $storeTitle = "Jet Airways BrandSTORE";
        $storeDLogo = "/images/jetAirwaysLogo.jpg";
        $storecolor1 = "#000"; //applied in header background
        $storecolor2 = "#FF9304"; //applied in mini header background 
        $storeGDlogo = "/images/globaJLinkerLogo.jpg";
        $storeGMlogo = "/images/globaJLinkerLogo.jpg";
    } elseif (isset($_SESSION["mycid"]) == 8){
        $storeTitle = "Jet Airways BrandSTORE";
        $storeDLogo = "/images/jetAirwaysLogo.jpg";
        $storeGDlogo = "/images/globaJLinkerLogo.jpg";
        $storeGMlogo = "/images/globaJLinkerLogo.jpg";
    }elseif (isset($_SESSION["mycid"]) == 9){
        $storeTitle = "Jet Airways BrandSTORE";
        $storeDLogo = "/images/jetAirwaysLogo.jpg";
        $storeGDlogo = "/images/globaJLinkerLogo.jpg";
        $storeGMlogo = "/images/globaJLinkerLogo.jpg";
    } elseif (isset($_SESSION["mycid"]) == 10){
        $storeTitle = "Jet Airways BrandSTORE";
        $storeDLogo = "/images/jetAirwaysLogo.jpg";
        $storeGDlogo = "/images/globaJLinkerLogo.jpg";
        $storeGMlogo = "/images/globaJLinkerLogo.jpg";
    } else{
       $storeDLogo = "/images/jetAirwaysLogo.jpg";
       $storeGDlogo = "/images/globaJLinkerLogo.jpg";
       $storeGMlogo = "/images/globaJLinkerLogo.jpg";
    }
?>

标签: php

解决方案


您的条件不正确,请使用连词:

if(isset($_SESSION["mycid"]) && $_SESSION["mycid"] == "14")
...
elseif(isset($_SESSION["mycid"]) && $_SESSION["mycid"] == "8")

更有效的方法是只在外部if检查一次 isset,然后检查值:

if(isset($_SESSION["mycid"]))
{
        if($_SESSION["mycid"] == "14")
        {
             ...    
        }
        elseif($_SESSION["mycid"] == "8")
        {
             ...
        }
        else
        {
             ...
        }
}
else
{
       //action for $_SESSION["mycid"] not set
}

推荐阅读