PHP 와 웹 페이지 의 상호작용 실례 분석
6092 단어 PHP웹 페이지 상호작용
웹 상호작용
1.웹 폼 상호작용
PHP 가 브 라 우 저 에서 제출 한 데 이 터 를 받 으 면 초 전역 변수 에 자동 으로 저 장 됩 니 다.
양식 을 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
}
체크 상 자 는 여러 값 을 제출 할 수 있 는 폼 컨트롤 입 니 다.
폼 을 작성 할 때 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 를 받 은 후 각 문제 형의 배열 을 옮 겨 다 니 면 된다.
사용자 가 입력 한 내용 을 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<br>4'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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.