2013-09-27 24 views
0

我忘了問這在我這裏的問題: PHP Dynamic Include Help on Index.php?Directory與PHP包含

我如何使它所以目錄用PHP包括使用?例如。我想將page2重新命名爲規則,然後將rules.php文件放到一個名爲/ rules /的文件夾中,所以它現在的/rules/rules.php

因此,新的url會像index.php ?category = rules & id = rules

這裏是新的代碼。

<?php 
    $page=''; 
    if (isset($_GET['id'])){ 
    $page = $_GET['id']; 
    } 
    $pageArray = array('index','css-pub1','page2','page3','page4','page5','page6'); 
    $inArray = in_array($page, $pageArray); 
    if ($inArray == true) { 
    include(''. $page .'.php'); 
    } 
    else { 
    include('main.php'); 
    } 
    ?> 
+1

這是一個可怕的愚蠢的不安全的例子,但是...'include($ _ GET ['category']。'/'。$ _GET ['id']。'.php')' –

+0

他可以通過一個類似的'in_array ()'檢查類別。 – Barmar

+0

問題是我沒有任何想法如何做到這一點:(。 –

回答

0

這應該這樣做,而是使之更安全,你HACE檢查include之前的頁面類別對所有腦幹(也許你應該使用include_once代替)

<?php 
$page=''; 
if (isset($_GET['id'])){ 
    $page = $_GET['id']; 
} 
if (isset($_GET['category'])){ 
    $category = $_GET['category']; 
} 
$pageArray = array('index','css-pub1','page2','page3','page4','page5','page6'); 
$categoryArray = array('cat1','cat2','cat32'); 

$inArrayPage = in_array($page, $pageArray); 
$inArrayCategory = in_array($category, $categoryArray); 
if ($inArray && $inArrayCategory) { 
    include(''. $page .'/'.$category.'.php'); 
} 
else { 
    include('main.php'); 
} 
?> 
+0

你的意思是確保這些類別和頁面存在?只是爲了詳細說明。 –

+0

是的,例如: 'category = rules&id = rules'是一個有效對,但 'category = auto-parts&id = rules'不是 – torresmateo

+0

我試過你的方法,但是當我去index.php?category = rules&id =規則時,它顯示main.php的內容 –