2011-08-10 2 views
0

내 CMS 포함 코드 위에 변수를 표시 할 수 없습니다.하지만 변수를 에코하면 $ url 변수가 인식됩니다. 나는 포함 코드 위 echo $url 아무 것도 반환하지 않습니다 경우PHP 모든 POST 변수에 대해 전체 페이지를 스캔 한 다음 페이지의 맨 위에 에코하는 방법은 무엇입니까?

<?php 
    // here is my CMS inlcude code 
    $template = 'news_script'; 
    $number = ''; 
    $category = ''; 
    include $cutepath.'/show_news.php'; 

    ?> 

: 여기

몇 가지 코드입니다. 하지만 아래에서는 분명히 그것을 인식합니다.

header('Location:'. $url); 스크립트를 사용하여 PHP 페이지의 맨 위에 $ url을 사용할 수 있도록 전체 페이지를 검색하고 모든 POST 변수를 검색하는 php 함수가 있습니까 ??

답변

1

분명히 $url이 (가) show_news.php 스크립트에 정의되어 있습니다. PHP는 스크립트를 줄 단위로 실행하며 마술처럼 "뒤로"접근하여 이전 줄에 변수 값을 설정하지 않습니다.

+0

잡았다. 내가 PHP에서 마법을 잃어버린 줄 알았는데? 그러나 나는 그렇지 않다고 생각한다. 감사합니다 – eberswine

0

또 다른 (추한) 방법은 다음과 같습니다

<?php 
    // here is my CMS inlcude code 
    $template = 'news_script'; 
    $number = ''; 
    $category = ''; 
    ob_start(); 
    include $cutepath.'/show_news.php'; 
    $buffered_data=ob_get_contents(); 
    ob_end_clean(); 
    echo $url; // here you could place your: header('Location:'. $url); 
    echo $buffered_data; 
?> 
+0

흠. $ buffered_data는 무엇입니까 ?? – eberswine

+0

'show_news.php'가 출력 할 내용이'$ buffered_data'에 저장되면,'header()'함수를 사용할 수 있습니다. 왜냐하면 클라이언트를 사용하기 전에 출력물을 만들 필요가 없기 때문입니다. 다음과 같은 오류가 발생합니다 :'헤더 정보를 수정할 수 없습니다 - 이미 보낸 헤더 ' – stewe

관련 문제