if语句在php中包含页面时出错

时间:2015-10-21 12:03:39

标签: php

我有一组页面,我希望其中一个页面依赖于url中的变量,但页面始终显示为仪表板

link1 : index.php?pth=&page=dashboard
link2 : index.php?pth=modules/institution&page=inst_classification

if statement:

if (isset($page) && !empty($page)) {
                    $page = htmlspecialchars($_GET["page"]);    
                    $pth = htmlspecialchars($_GET["pth"]);    
                }else{  
                    $page ='dashboard';
                    $pth = ''; 
                }
                include ('../admin/template/'.$template_fldr.'/html/'.$pth.$page.'.php'); 

谢谢!

2 个答案:

答案 0 :(得分:0)

您在写信之前访问$page。您也永远不会检查pth值是否存在。尝试:

if (empty($_GET['page']) || empty($_GET['pth'])) {
    $page ='dashboard';
    $pth = '';  
}else{  
    $page = htmlspecialchars($_GET["page"]);    
    $pth = htmlspecialchars($_GET["pth"]);    
}
include ('../admin/template/'.$template_fldr.'/html/'.$pth.$page.'.php'); 

如果/是您要查找的文件,则您的include中可能还需要modules/institution/inst_classification.php

include('../admin/template/'.$template_fldr.'/html/'.$pth.'/'.$page.'.php'); - 但您的问题并不清楚。

答案 1 :(得分:0)

if (isset($_GET["page"]) && isset($_GET["pth"])) {
                    $page = htmlspecialchars($_GET["page"]); 
                    $pth = htmlspecialchars($_GET["pth"]);
                } else {
                    $page = 'dashboard';
                    $pth = '';
                }
                include ('../admin/template/'.$template_fldr.'/html/'.$pth.'/'.$page.'.php');