PHP 와 웹 페이지 의 상호작용 실례 분석

이 글 의 실례 는 PHP 와 웹 페이지 의 상호작용 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
웹 상호작용
1.웹 폼 상호작용
  • 폼 의 method 속성 제출 방식 이 POST 일 때 브 라 우 저 는 POST 요청
  • 을 보 냅 니 다.
  • 폼 의 method 속성 제출 방식 이 GET 일 때 브 라 우 저 는 GET 요청 을 보 냅 니 다.
    PHP 가 브 라 우 저 에서 제출 한 데 이 터 를 받 으 면 초 전역 변수 에 자동 으로 저 장 됩 니 다.
  • 초 전역 변 수 는 PHP 가 미리 정 의 된 변수 입 니 다.PHP 스 크 립 트 의 모든 위치 에서 사용 할 수 있 습 니 다.
  • 에서 흔히 볼 수 있 는 초 전역 변수 배열 변 수 는$POST、$_GET 등
  • POST 방식 으로 제출 한 데 이 터 는$에 저 장 됩 니 다.POST 중
  • GET 방식 으로 제출 한 데 이 터 는$에 저 장 됩 니 다.GET 중
  • 2.URL 매개 변수 상호작용
    양식 을 GET 방식 으로 제출 할 때 사용자 가 작성 한 내용 을 URL 매개 변수 에 넣 어 제출 합 니 다.
    폼 의 method 속성 을 삭제 하거나 get 으로 변경 한 다음 폼 을 제출 하면 다음 URL 을 얻 을 수 있 습 니 다.
    在这里插入图片描述

  • "?"뒤의 내용 은 매개 변수 정보 입 니 다.

  • 매개 변 수 는 매개 변수 이름과 매개 변수 값 으로 구성 되 어 있 으 며 중간 에 등호'='을 사용 하여 연결 합 니 다.

  • 여러 매개 변수 사이 에"&"구분 사용 하기

  • username 과 password 는 매개 변수 이름 으로 폼 의 name 속성 에 대응 합 니 다.

  • test 와 123456 은 매개 변수 값 으로 사용자 가 작성 한 내용 에 대응 합 니 다.
    
    if (isset($_GET['username']) && isset($_GET['password'])) {
     echo $_GET['username']; //     :	test
     echo $_GET['password']; //     :123456
    }
    
  • 3.배열 방식 으로 데이터 제출

  • 체크 상 자 는 여러 값 을 제출 할 수 있 는 폼 컨트롤 입 니 다.

  • 폼 을 작성 할 때 name 속성 을 배열 로 설정 해 야 합 니 다.
    
    <input type="checkbox" name="hobby[]" value="swimming">   
    <input type="checkbox" name="hobby[]" value="reading">   
    <input type="checkbox" name="hobby[]" value="running">   
    print_r($_POST['hobby']);
    

  • $_POST 의 hobby 요 소 는 색인 배열 입 니 다.배열 의 요 소 는 사용자 가 선택 한 콤 보 상자 에 대응 하 는 value 속성 값 입 니 다.

  • 사용자 가 체크 상 자 를 선택 하지 않 았 을 때$POST 배열 에는 hobby 요소 가 존재 하지 않 습 니 다.
    
    <!--      -->									//     
    <input type="text" name="user[name]">				$_POST['user']['name'];
    <input type="text" name="user[a][1]">				$_POST['user']['a'][1];
    <input type="text" name="user[1][b]">				$_POST['user'][1]['b'];
    <input type="text" name="user[c][]">				$_POST['user']['c'][0];
    <input type="text" name="user[][d]">				$_POST['user'][2]['d'];
    <input type="text" name="user[][]">					$_POST['user'][3][0];
    <input type="text" name="user[3][][]">				$_POST['user'][3][1][0];
    <input type="text" name="user[3][][]">				$_POST['user'][3][2][0];
    <input type="text" name="user[][][2]">				$_POST['user'][4][0][2];
    <input type="text" name="user[4][0][]">				$_POST['user'][4][0][3];
    

  • 처리 해 야 할 폼 의 내용 이 매우 많은 경우 폼 의 name 속성 이름 은 다 차원 배열 형식 으로 개발 할 수 있 으 며,사용 방식 은 PHP 의 배열 과 매우 유사 합 니 다.

  • 예 를 들 어 온라인 시험 시스템 을 개발 할 때 폼 에는 빈 칸 채 우기 문제,단선 문제,다 선 문제,판단 문제 등 다양한 문제 형 이 있 는데 이때 각 문제 형 을 하나의 배열 에 넣 어 제출 할 수 있 고,PHP 를 받 은 후 각 문제 형의 배열 을 옮 겨 다 니 면 된다.
  • 4.HTML 특수 문자 처리
    사용자 가 입력 한 내용 을 HTML 에 출력 할 때 특수 문자 문제 가 발생 합 니 다.
    예 를 들 어 사용자 가 HTML 코드 를 제출 할 때 코드 를 그대로 표시 하기 위해 서 는 브 라 우 저 에 의 해 해석 되 지 않도록 특수 문자열 을 실체 문자 로 변환 해 야 합 니 다.
    이런 특수 문 자 를 처리 하지 않 으 면 사이트 의 안전 에 위험 을 가 져 올 수 있다.
    이러한 문 제 를 해결 하기 위해 서 PHP 는 HTML 특수 문 자 를 전문 적 으로 처리 하 는 함 수 를 많이 제공 합 니 다.
    在这里插入图片描述

  • nl2br(),echo nl2br(“123456”, false);

  • strip_tags()는 문자열 의 태그 부분 을 제거 할 수 있 습 니 다.보통 HTML 코드 를 읽 은 후에 HTML 표 시 를 제거 하고 텍스트 만 유지 합 니 다.
    
    	$html = <<<'EOD'
    	<ul><li>  </li><li>  </li></ul>
    	123<test>456</test><aaa>789
    	EOD;
    	echo strip_tags($html);
    	//    
    	    
    	123456789
    

  • 문자열 의 HTML 특수 문 자 를 변환 하고 복원 합 니 다.
    html specialchars()와 html specialcharsdecode()함 수 는 문자열 의 HTML 특수 문 자 를 변환 하고 복원 하 는 데 사 용 됩 니 다.구체 적 으로 는"&",작은 따옴표,작은 따옴표,"<",">"를 포함 합 니 다.그 중에서 작은 따옴표 는 함수 의 두 번 째 매개 변 수 를 ENT 로 설정 해 야 합 니 다.QUOTES 상수 가 바 뀌 어야
    
    $html = "123<br>4'56";
    $html = htmlspecialchars($html, ENT_QUOTES | ENT_HTML5);
    echo $html, "
    "; $str = htmlspecialchars_decode($html, ENT_QUOTES | ENT_HTML5); echo $html; // 123&lt;br&gt;4&apos;56 123<br>4'56

  • urlencode()와 urldecode()함수,urlencode()와 urldecode()함 수 는 주로 HTML 에서 URL 파 라 메 터 를 출력 할 때 인 코딩 변환 을 하 는데 전 자 는 인 코딩 에 사용 되 고 후 자 는 디 코딩 에 사 용 됩 니 다.
    주의,사용$GET 가 인 자 를 받 았 을 때 얻 은 데 이 터 는 URL 디 코딩 후의 결과 이 므 로 수 동 으로 처리 할 필요 가 없습니다.
    
    $name = 'A&B C';
    $name = urlencode($name);	// URL   
    echo "http://localhost/test.php?name=$name", "
    "; echo urldecode($name); // URL // http://localhost/test.php?name=A%26B+C A&B C

  • http_build_query(),http 이용build_query()함 수 는 PHP 관련 배열 을 URL 매개 변수 문자열 로 변환 할 수 있 습 니 다.
    
    $params = [
    'name' => 'test',
    'hobby' => ['reading', 'running']
    ];
    $query = http_build_query($params);
    echo "http://localhost/test.php?$query";
    //    
    http://localhost/test.php?name=test&hobby%5B0%5D=reading&hobby%5B1%5D=running
    
  • 더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
    본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

    좋은 웹페이지 즐겨찾기