웹마스터 팁

http://203.253.201.14/test/server_var.php안녕하세요.. 흠..흠..;;;

여기서 놀기는 많이 노는데 ...( 일명 그림자 회원 ^^V )
저는 별로 도움을 드리지 못한것 같아서요
함수 하나 올려볼려고 끄적 거립니다.

--------------------------------------------------------

게시판이나 어떤 웹 프로그램을 만들다 보면.
페이지에서 페이지로 넘어오는 인자(?) 들을 검사해야 할때가 있잖아요.
값들이 제대로 오나.. 안 오나...( 일반 프로그래밍할때 디버깅시에 Watch 라는 기능... )

그때마다 변수를 찍어 주는것이 귀찬잖아요... ( 귀찮? )
그래서 함수를 하나 만들었어요.
누구다 다 만들어서 쓰는거라 여기 없는것 같기도 하고..
그래도 머~ 혹, 생각치 못한 분들을 위해 올립니다.

밑에 적는 함수를 따로 파일로 만들어서
해당 함수를 쓰려는 파일에 include 하고요.

vars_test("SERVER") 혹은
vars_test("POST") 라고 호출하면 됩니다.

인자로 가능한것은
"SERVER"  , "GET" , "POST" , "COOKIE" , "SESSION" , "FILES" , "ENV" , "REQUEST" , "GLOBLAS"
이상 9개 입니다.

단 !
php 4.1 이상에서만 됩니다.
_SERVER , _GET 등이 4.1 이후에 추가된 Predefined Variables 랍니다.
그리고 이넘들은 super global 이라지요.


여기서 질문 하나 !!
함수를 보면 인자를 $var_name 으로 받는데요
그래서 switch 로 분기 시켜주는데.

$vars = $$var_name;
이게 왜 안되죠?
그러면 저 Switch 는 없어도 될텐데..쩝~~~ 안되데요~~~

어쨌거나 저쨌거나 유용하게 사용하시기 바랍니다.

※ Server 맨마지막에
FILE_PATH 와 URL_PATH 는 제 필요에 의해서 계산해 넣은것입니다.
원래 _SERVER 에는 없어요.

/*************************************************
        <function>
                각종 서버 환경 변수들을 출력해준다.
                테이블 형태로 출력해주며
                감추기/보이기 기능을 가지고 있다.
        <Return>
                없다.
        <Parameter>
                변수 이름 "SERVER"  , "GET" , "POST" , "COOKIE" , "SESSION" , "FILES" , "ENV" , "REQUEST" , "GLOBLAS"
        <Comment>
                디버깅(?)시 쓸려고 만들었다.
                먼가 이상하게 돌아갈때 해당 페이지에서 vars_test("POST") 등으로
                페이지로 넘어오는 변수와 값들을 검사할 수 있다.

                이 함수는 PHP 4.1 이상에서만 작동한다.
                흠흠.. 이전 버전에서는 $HTTP_ 어쩌구저쩌구... ^^;;
        <Author>
                Yangkun ( yangkun7@kornet.net )
                2002 - 03 - 31 03:16:24
*************************************************/
function vars_test($var_name)
{
        echo("
                <script language='javascript'>
                function show_hide_$var_name()
                {
                        if( eval("document.all['$var_name'].style.display") == 'block' )
                                eval("document.all['$var_name'].style.display = 'none';");
                        else
                                eval("document.all['$var_name'].style.display = 'block';");
                }
                </script>
                
                <h3><a href='#' onClick='show_hide_$var_name();return false;' onFocus='this.blur();'>$var_name</a></h3>

                <div id='$var_name' style='display:none'>
                <table width='100%' height='' border='1' cellpadding='0' cellspacing='0' bordercolordark='' bordercolorlight='' bgcolor=''>
                <tr>
                        <td align='center'>KEY</td>
                        <td align='center'>VALUE</td>
                </tr>
        ");        
        
        switch( $var_name ){
                case "SERVER":
                        $vars = $_SERVER;
                        break;
                case "GET":
                        $vars = $_GET;
                        break;
                case "POST":
                        $vars = $_POST;
                        break;
                case "COOKIE":
                        $vars = $_COOKIE;
                        break;
                case "FILES":
                        $vars = $_FILES;
                        break;
                case "ENV":
                        $vars = $_ENV;
                        break;
                case "REQUEST":
                        $vars = $_REQUEST;
                        break;
                case "SESSION":
                        $vars = $_SESSION;
                        break;
                case "GLOBALS":
                        $vars = $GLOBALS;
                        break;
        }


        foreach ($vars as $key => $value) {
                $value = nl2br($value);
                $value = htmlspecialchars($value);
                echo("
                        <tr>
                                <td><b>$key</b></td>
                                <td>$value</td>
                        </tr>
                ");
        }

        echo("
                </table>
                </div>
        ");
}
?>

----------------------------------------------------------------------------------------


제목 글쓴이 날짜
[추천 소스] 최신의 인기가요 뽑아오는 PHP프로그램 [3] 제누스 2002.03.28
[수정본]남은 계정 용량 보여주는 PHP 프로그램 [9] 제누스 2002.03.28
[수정본]MP3파일를 검색하여 윈앰프로 실시간 감상하기 제누스 2002.03.28
[Yangkun] (함수) 간단 각종 Global 변수 검사 [1] 양군 2002.03.31
Hide-Show-Menu 를 PHP로 구현하기... [7] TryZ 2002.04.06
[수정+파일첨부]NZEO처럼 모드 변경 만들기 - with cookie [6] file TheMics 2002.04.07
[추천 소스] 게시판 답글 알고리즘..(서기생각 -_-;;) [2] 서기 2002.04.10
Zero Counter ver 0.9b 이미지 카운터로 만들기.. [5] _a_SPD_a_ 2002.04.15
[ 삼항연산 ] 조건문 리턴 [6] 불티나 2002.04.20
PHP로 아바타를 구현해 봅시다. [18] ★Zzony~ 2002.05.13
간단한 퀴즈? 프로그램을 짜보자구요~^^ [4] teenteenv 2002.05.15
NaN ,Undifind, Null 이 먼 말이 다냐? [2] 최후의성전 2002.05.15
접속 IP 알아보기..^^ [11] ZipShin 2002.05.16
echo도 많이 유용하게 사용할수있습니다..^^ [14] ZipShin 2002.05.19
제가 쓰는 mysql 검색알로리즘 입니다. [5] 콩알™ 2002.05.20
서기가 쓰는 Echo [12] 서기 2002.05.20
MYSQL에 접속하기..^^ [9] ZipShin 2002.05.20
초보자를 위한 PHP강좌 파일 [chm형식] [5] ZipShin 2002.05.21
제로보드 상황판때기(?) 만들기... [9] file _a_SPD_a_ 2002.05.28
[씽크식 PHP] 출력, 어떤 방법이 빠를까? [11] John Sync. 2002.05.29