가 {

2011-08-29 4 views
3
나는 현재 페이지 내 배열에 존재하고 다음을 열면 확인 다음 스크립트를 사용

가, 다른 사람이 실수로 내 error.php가 {

<?php 
    $page = $_GET['page']; 
    $pages = array('p_1', 
        'p_2', 
        'p_3', 
        'error'); 

    if (!empty($page)) { 
    if(in_array($page, $pages)) { 
     $page .= '.php'; 
     require_once('../' . $page . ''); 
    } 
    } 
    else { 
     require_once('../error.php'); 
    } 
?> 

를 엽니 다 (지금까지 I didn 히 't test it) 내 사이트에 newpage.php를 추가하고 그것을 배열에 추가하는 것을 잊어 버렸습니다.

그러나 내 스크립트는 내 error.php를 표시하는 대신 newpage.php를 열었습니다.

어디서 잘못 되었나요?

고맙습니다.

답변

4

미안하지만 말입니다. 이 스 니펫 코드에는 포함되지 않습니다.

그리고 다른 곳을/요구 포함한 검색, error.php는 $_GET['page']가 비어

<?php 
    $page = $_GET['page']; 
    $pages = array('p_1', 
        'p_2', 
        'p_3', 
        'error'); 

    if (!empty($page)) { 
     if(in_array($page, $pages)) { 
       $page .= '.php'; 
       require_once('../' . $page . ''); 
     } 
     else require_once('../error.php'); 
    } 
    else require_once('../error.php'); 

?> 

이없이 newpage.php을 열었다 왜 하나

+0

나는 당신이 ** 다른 {**하지만 아직 행방 불명 다시 error.php을 제공하지 않는 ' – Pavlos1316

+0

감사 테스트합니다. 그것은 내 newpage.php를 표시합니다. Ahhhh ... 당신이 편집했습니다 ... – Pavlos1316

+0

@ Pavlos1316 : 한 줄 코드 일 때 else {필요하지 않습니다. – genesis

1

모르겠어요 올바른입니다 만 경우에 표시 코드의 나머지 부분을 볼 수 있지만 error.php 페이지가 표시되지 않은 이유를 알려줄 수 있습니다.

$ _GET [ 'page'] "비어있는 경우에만 코드가 error.php 만 표시합니다 (즉, null, 0 , ''). 는 다음과 같은 코드를 시도해야 그것을 해결하기 위해?

<?php 
$page = $_GET['page']; 
$pages = array('p_1', 
       'p_2', 
       'p_3', 
       'error'); 

if(!empty($page) && in_array($page, $pages)) { 
    $page .= '.php'; 
    require_once('../' . $page . ''); 
} else { 
    require_once('../error.php'); 
} 

>