반응형

$_SERVER['DOCUMENT_ROOT'] = 현재 사이트가 위치한 서버상의 위치 => /webapp/include


$_SERVER['HTTP_ACCEPT_ENCODING'] = 인코딩 받식 => gzip, deflate


$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 언어 => ko


$_SERVER['HTTP_USER_AGENT'] = 사이트 접속한 사용자 환경 => Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705


$_SERVER['REMOTE_ADDR'] = 사이트 접속한 사용자 IP => xxx.xxx.xxx.xxx

$_SERVER['HTTP_REFERER'] = 현제 페이지로 오기전의 페이지주소값 => http://www.test.net/index.php?user=??? (A태그나 form으로 전송시 값이 넘어옴. onclick으로 전송시 값이 넘어오지 않음)


$_SERVER['SCRIPT_FILENAME'] = 실행되고 있는 위치와 파일명 => webapp/include/index.php


$_SERVER['SERVER_NAME'] = 사이트 도메인 => www.test.com (버추얼 호스트에 지정한 도메인)

$_SERVER['HTTP_HOST'] = 사이트 도메인 => www.test.com (접속할 때 사용한 도메인)


$_SERVER['SERVER_PORT'] = 사이트가 사용하는 포트 => 80


$_SERVER['SERVER_SOFTWARE'] = 서버의 소프트웨어 환경 => Apache/1.3.23 (Unix) PHP/4.1.2 mod_fastcgi/2.2.10 mod_throttle/3.1.2 mod_ssl/2.8.6 OpenSSL/0.9.6c


$_SERVER['GATEWAY_INTERFACE'] = cGI 정보 => CGI/1.1


$_SERVER['SERVER_PROTOCOL'] = 사용된 서버 프로토콜 => HTTP/1.1


$_SERVER['REQUEST_URI'] = 현재페이지의 주소에서 도메인 제외 => /index.php?user=???&name=???


$_SERVER['PHP_SELF'] = 현재페이지의 주소에서 도메인과 넘겨지는 값 제외 = /default/index.php

*파일명만 가져올때 : basename($_SERVER['PHP_SELF']);


$_SERVER['APPL_PHYSICAL_PATH'] = 현재페이지의 실제 파일 주소 => D:\webapp/

$_SERVER['QUERY_STRING'] = get방식의 파일명 뒤에 붙어서 넘어오는 값 => ?user=???&name=??? (반드시get방식으로 넘겨야됨)

반응형
반응형

HTTP 환경변수의 HTTP_REFERER를 이용해봅시다'ㅂ'

(import javax.servlet.http.HttpServletRequest;)

각 언어별로 HTTP_REFERER를 확인하는 방법은 아래와 같습니다. 리턴값은 스트링이구요.

ASP => Request.ServerVariables("HTTP_REFERER")
PHP => $_SERVER['HTTP_REFERER']
JSP => request.getHeader("REFERER")

HTTP_REFERER의 값의 유무와 각 웹서버의 로그파일을 이용해서
어떻게 방문했는지를 추출할 수 있습니다.

1. 주소창에 주소를 입력해서 들어오는 경우
- HTTP_REFERER의 값이 없음

ex)strReferPath = Trim(Request.Servervariables("HTTP_REFERER"))

strReferPath == null ? 1 : 0 -> 1이 반환 되겠져

2. '즐겨찾기'를 이용해서 들어오는 경우(IE의 경우)
- HTTP_REFERER의 값이 없음
- 로그파일에 ..../favicon.ico로그가 먼저 남는다.
- 이는 IE가 즐겨찾기를 눌러서 사이트를 방문할 경우 favicon.ico 요청을 하고, 해당 URL의 요청을 하기때문입니다.

3. 링크를 통해서 들어오는 경우.(쉽게 말해서 <a>태그를 통해)
- HTTP_REFERER에 이전 URL정보가 들어있음.

이렇게 3가지 패턴으로 어느정도 확인을 할 수가 있습니다만-!

자바스크립트로 location.href를 통해 설정된 주소로 들어왔을경우

이전의 주소를 알아 낼 수 없다는 거겠죠; 그 밖에도 여러가지가 있겠지만...

 

출처 - http://blog.naver.com/wimeprana/110019137746

반응형

'공부거리 > PHP' 카테고리의 다른 글

PHP 문자열 함수  (0) 2013.05.29
[PHP] $_SERVER[] 값  (0) 2013.04.04
이클립스+php셋팅  (0) 2012.05.11
PHP 게시판 리스트 샘플 소스  (0) 2011.12.19
PHP3 문법 기초  (0) 2011.10.12
반응형

$db_host = "localhost";
 $db_name = "ID";
 $db_pss = "PASS";

 $connect = mysql_connect($db_host, $db_name,$db_pss );
 $result_0 = mysql_query($db_name, $connect);
 echo $result_0."<br>";
 mysql_select_db("DBNAME", $connect);
 mysql_query("SET NAMES utf8");


$sql_4 = "select * from juso";
 $result_4 = mysql_query($sql_4, $connect);
 $fields = mysql_num_fields($result_4); //총 필드 갯수
 echo "fileds = ".$fields."<br>";
 if($v_num != null || $v_num == ""){
  echo "<center>";
  echo "<br>주소록 검색 결과.<br>";
  
  echo "<table align='center' width='1024px'>
    <tr>
     <th align-'center'>선택</th>
     <th align='center'>이름</th>
     <th align='center'>주소</th>
     <th align='center'>전화</th>
     <th align='center'>비고</th>
     <th align='center'>삭제</th>
    </tr>";
    echo "<tr>";
    echo "<td colspan='6'><HR align='conter'  width='1024px'  ></td>";
    echo "</tr>";
    $ee=1;
   while($row = mysql_fetch_row($result_4)){
    echo "<tr>";
    echo "<td align='center'>".$ee++."</td>";
    echo"<td align='center'>".$row[$i]."</td>";
    };
    echo "<td align='center'>".$row[0]."</td>";//삭제버튼
    echo "</tr>";  
   }
  echo "</table>";

반응형

'공부거리 > PHP' 카테고리의 다른 글

PHP 문자열 함수  (0) 2013.05.29
[PHP] $_SERVER[] 값  (0) 2013.04.04
php,jsp,asp 이전 페이지 URL 얻어오기  (0) 2012.06.14
이클립스+php셋팅  (0) 2012.05.11
PHP3 문법 기초  (0) 2011.10.12
반응형

http://www.shinbiro.com/~flyduck/php/index.html 의 자료입니다.


1. Variable (변수)
- 변수는 $로 시작한다.

- 변수는 별도로 선언하는 부분이 없으며 (type을 미리 지정하지 않으며) 변수 type은 변수가 사용된 context에 따라 결정된다.

- 변수의 type으로는 기본적으로 integer, double, string type이 있으며 이외에 array와 object type이 있다. 변수 type은 gettype(), is_long(), is_double(), is_string(), is_array(), is_object() 등의 함수로 알아낼 수 있다.

- type casting은 C에서와 같은 형식으로 이루어진다. (int) (integer) (real) (double) (float) (string) (array) (object) 등의 casting operator가 있다.

- string conversion : 문자열이 숫자로 변환될 때에 문자열이 '.', 'e', 'E'를 포함하고 있으면 double로 그렇지 않으면 integer로 변환이 된다.

- variable variable : 변수의 값이 변수의 이름이 되는 것을 말한다. 예를들어 $a = "hello" 일때 $$a = "world"라고 정의하면 $hello = "world"로 정의되는 것이다.

- scope : user-defined function에서는 local function scope가 적용된다. 즉 function 안에서 정의된 변수는 function안에서만 의미가 있다. 주의할 점은 외부에서 정의된 변수도 user-defined function안에서는 의미가 없다는 것이다. 외부에서 정의된 변수를 사용하려면 함수 안에서 global $externalVar; 형식으로 정의를 하고 사용하거나 $GLOBALS["externalVar"] 형식으로 직접 변수를 사용하여야 한다.

- static variable : local function scope를 가지지만 scope를 벗어나더라도 값이 유지되는 변수를 말한다.

Array

- array는 $array[] 형식으로 사용된다.

- scalar array : 첨자가 숫자로 주어지는 배열이다. 예를 들면 $array[0] = 1;

- associative array : 첨자가 숫자가 아니라 문자열로 주어지는 배열이다. 예를 들면 $array["first"] = 1;

- 그냥 $array[]에 값을 지정하면 array에 값이 하나 추가된다. $array[] = 1; $array[] = 2; 는 $array[0] = 1; $array[1] = 2;와 같은 의미를 지닌다.

- array() 함수를 통하여 array를 만들수도 있고, count() 함수로 element의 갯수를 얻을수도 있다. next(), prev() 함수나 each() 함수를 통하여 element들을 참조할 수도 있다.

External Variables (외부변수)

- HTML form (GET/POST) : form으로 전달된 값은 form에서 name field로 지정한 이름의 변수로 지정이 된다. form에서 type = "image"인 경우에는 마우스로 클릭한 위치가 name_x, name_y 형태로 추가로 전달된다.

- HTTP Cookie : browser로 cookie를 전달하려면 SetCookie(name, value, timeout) 함수를 이용한다. client로부터 전달되는 cookie는 PHP 변수로 변환이 된다.

- Environment Variable : 환경변수 또한 PHP 변수처럼 사용할 수 있다. 환경변수는 getenv()라는 함수를 이용해 얻을 수 있으며 putenv() 함수로 환경변수를 지정할 수도 있다.


2. Class
- class keyword를 사용하여 class를 정의하며 instance 생성은 new operator를 이용한다.

- class의 상속은 extends keyword를 사용한다.

- constructor 정의는 class와 같은 이름을 갖는 상수를 정의함으로써 이루어진다. constructor는 default parameter를 가질 수 있다.

예)

    class testClass {
        var $value;
        function testClass($defValue = "test") { $value = $defValue; }
        function doSet($setValue) { $value = $setvalue; }
        function doPrint() { echo $value; }
    }
    class testLineClass extends testClass {
        function doPrintLine() { echo("$valuen"); }
    }

    $test = new testClassLine;
    $test->doSet("hello");
    $test->doPrint();
    $test->doPrintLine();
3. Expression
- expression이란 값으로 환산되는 것을 말한다.

- assignment는 expression이므로 $a = $b = 5; 같은 문장을 쓸 수 있다.

- pre and post increment / decrement : $a++, ++$a, $a--, --$a

- comparison operator는 boolean 값을 갖는 expression이다.

- operator와 assignment의 결합 : $a += 3; $b = ++$a; $c = double(--$b); $d = $c += 10;

- boolean : 숫자에서 0은 false, 0이 아닌값은 true이다. 문자열에서 ""와 "0"은 false, 나머지는 true이다. array에서는 element가 하나도 없으면 false, 하나라도 있으면 true이다.


4. Statement
- if 문 :

    if (expression) {
        do anything 1;
    } elseif (expression) {
        do anything 2;
    } else
        do anything 3;

    또는

    if (expression) :
        do anything 1;
    elseif (expression) :
        do anything 2;
    else :
        do anything 3;
    endif;
- while 문 :

    while (expression)
        do anything;

    또는

    while (expression) :
        do anything;
    endwhile;
- do...while 문 :

    do {
        do anything;
    } while (expression);
- for 문 :

    for (expr1; expr2; expr3)
        do anything;
- switch 문 :

    switch (expression) {
    case ... :
        do anything;
        break;
    default :
        do anything;
    }
- loop에서 break를 이용한 제어가 가능하다.

5. Function (함수)
- 함수는 function 이라는 keyword를 가지고 정의가 되며 별도로 return type은 지정하지 않는다.

- function의 기본형은 다음과 같다.

    function funcName($arg1, $arg2, $arg3, ..., $argn) {
        do anything;
        return $retval;
    }
- return value는 list와 object를 포함하여 어떤 type이든 될 수 있다. 예를 들어 array를 return하려면 return array(0, 1, 2);

- argument는 default로 pass by value이다. pass by reference로 하려면 argument definition에서 변수명 앞에 &를 붙여주면 된다 (function funcName(&$arg1)). function이 pass by value로 정의가 되었더라도 함수를 부를때 argument에 &를 붙여서 넘기면 pass by reference가 된다 (call : doFunc(&$var)).

- default parameter : C++에서 사용하는 방식으로 default parameter를 정의할 수 있다 : function funcName($var = 1) { }


6. Operator
- operator들은 C언어에서의 operator와 비슷하며 다음과 같은 operator들이 있다.

- arithmetic operator : +, -, *, /, %
- string operator : . (concatenation)
- assignment operator : =
- bitwise operator : &, |, ~
- logical operator : and (&&), or (||), xor, !
- comparison operator : ==, !=, <, >, <=, >=


7. 그밖에
- require : #include와 똑같은 의미로 사용된다.

- include : include 문장을 만날때마다 지정한 파일을 포함한다. require는 #include 처럼 무조건 파일을 포함시키지만 include는 loop나 if 문 등에서 사용할 수 있으며 필요한 경우에만 파일을 포함하도록 할 수 있다.

반응형

'공부거리 > PHP' 카테고리의 다른 글

PHP 문자열 함수  (0) 2013.05.29
[PHP] $_SERVER[] 값  (0) 2013.04.04
php,jsp,asp 이전 페이지 URL 얻어오기  (0) 2012.06.14
이클립스+php셋팅  (0) 2012.05.11
PHP 게시판 리스트 샘플 소스  (0) 2011.12.19

+ Recent posts