簡體   English   中英

If-else條件使我在PHP中出錯

[英]If-else condition gives me errors in PHP

我有兩個網站,每個網站都有自己的域名。 在加載時,我已經執行了兩個站點都使用的php文件,並且具有相同的功能。

這是該文件的代碼:

<?php
echo    '1';
if ($_SESSION["template"]=="template1";)
{
    echo    '2';
    if ($_REQUEST["cmdAction"]=='A')
        echo file_get_contents('http://localhost/images/template1/a.php'); 
    else if ($_REQUEST["cmdAction"]=='B')
        echo file_get_contents('http://localhost/images/template1/b.php');
    else if ($_REQUEST["cmdAction"]=='C')
        echo file_get_contents('http://localhost/images/template1/c.php');
}

else if ($_SESSION["template"]=="template2";)
{
    echo    '3';
    if ($_REQUEST["cmdAction"]=='A')
        echo file_get_contents('http://localhost/images/template2/a.php'); 
    else if ($_REQUEST["cmdAction"]=='B')
        echo file_get_contents('http://localhost/images/template2/b.php');
    else if ($_REQUEST["cmdAction"]=='C')
        echo file_get_contents('http://localhost/images/template2/c.php');
}
else {

echo 'NO DATA';
}
    echo    '4';

?>

在兩個站點的每個站點上,我都設置了一個會話變量,但是在上面的代碼中,它似乎沒有按我期望的那樣工作。

我想念什么嗎?

if()else if()語句中刪除分號,並在使用嵌套if時添加括號,因為這樣會使人更容易理解並且看起來更好

    <?php
    echo    '1';
    if ($_SESSION["template"]=="template1") 
    {
        echo    '2';
        if ($_REQUEST["cmdAction"]=='A')
        {
            echo file_get_contents('http://localhost/images/template1/a.php'); 
        } 
        else if ($_REQUEST["cmdAction"]=='B') 
        {
            echo file_get_contents('http://localhost/images/template1/b.php');
        } 
        else if { ($_REQUEST["cmdAction"]=='C') 
        {
            echo file_get_contents('http://localhost/images/template1/c.php');
        }
    } 
    else if ($_SESSION["template"]=="template2") 
    {
        echo    '3';
        if ($_REQUEST["cmdAction"]=='A') 
        {
            echo file_get_contents('http://localhost/images/template2/a.php'); 
        } 
        else if ($_REQUEST["cmdAction"]=='B') 
        {
            echo file_get_contents('http://localhost/images/template2/b.php');
        } 
        else if ($_REQUEST["cmdAction"]=='C') 
        {
            echo file_get_contents('http://localhost/images/template2/c.php');
        }
    }
    else {
        echo 'NO DATA';
    }
    echo    '4';
?>

查看完您的代碼后,我編輯了答案。 以下代碼與您的代碼完全相同,但所需的代碼更少。

<?php
if (isset($_SESSION['template']) && isset($_REQUEST['cmdAction'])) {
    echo file_get_contents('http://localhost/images/'.$_SESSION['template'].'/'.strtolower($_REQUEST['cmdAction']).'.php'); 
} else {
    echo 'NO DATA';
}
?>

暫無
暫無

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

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