웹마스터 팁

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>
        ");
}
?>

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


제목 글쓴이 날짜
Zero Counter ver 0.9b 이미지 카운터로 만들기.. [5] _a_SPD_a_ 2002.04.15
[추천 소스] 게시판 답글 알고리즘..(서기생각 -_-;;) [2] 서기 2002.04.10
[수정+파일첨부]NZEO처럼 모드 변경 만들기 - with cookie [6] file TheMics 2002.04.07
Hide-Show-Menu 를 PHP로 구현하기... [7] TryZ 2002.04.06
[Yangkun] (함수) 간단 각종 Global 변수 검사 [1] 양군 2002.03.31
[수정본]MP3파일를 검색하여 윈앰프로 실시간 감상하기 제누스 2002.03.28
[수정본]남은 계정 용량 보여주는 PHP 프로그램 [9] 제누스 2002.03.28
[추천 소스] 최신의 인기가요 뽑아오는 PHP프로그램 [3] 제누스 2002.03.28
[씽크식 PHP] 글자 하나씩 때어놓기.. (한글 자르기 포함) [1] John Sync. 2002.03.26
[추천 팁] [씽크식 PHP] PHP에대해 아무 지식이 없는 사람이 오해하는것. [3] [ζ]씽크 2002.03.23
[추천 팁] setcookie()사용시 header어쩌구 하는 에러날때.... [1] 하얀바다 2002.03.19
[추천 팁] 방문자의 os와 browser체크 함수.... [3] navyism 2002.03.18
echo 문 대신... [5] TryZ 2002.03.17
[씽크식 PHP] 초심자들이 많이 겪는 실수.. [7] [ζ]씽크 2002.03.16
TheMics의 예제와 함께하는 PHP기초(上) [1] TheMics 2002.03.14
include를 이용한 다음넷 홈페이지 꾸미기2(그림 첨부) [4] file ZipShin 2002.03.12
include를 이용한 다음넷 홈페이지 꾸미기1 [10] ZipShin 2002.03.12
[추천 팁] index key 값을 갖는array에서 value에 의한 key값 반환 [1] 차카게살자 2002.03.11
가변적 변수 할당하는 방법 (t1=1; t2=2; t=t.rand(1,2);) [1] 차카게살자 2002.03.11
유용한 함수 - array_reverse 리들 2002.03.10