이 글에서는 인증코드 실시간 검증을 실현하기 위한 PHP+Ajax를 주로 소개합니다. 관심있는 친구들은 참고하시면 됩니다.
PHP의 이미지 처리 기능은 강력하고, 인증코드 그림을 만드는 것도 매우 간단합니다. 실시간 확인 중에 문제가 발생했습니다.
nat123을 사용하여 내 컴퓨터에서 웹사이트를 포트 매핑하고 외부 네트워크 액세스를 달성했습니다. 원래는 js로 확인 코드를 확인하기 위해 쿠키를 사용했지만 검사 결과 nat123을 사용하면 사용자 정의된 URL을 통해 내 웹사이트에 액세스할 수 있는데, 네트워크에서 인증 코드를 생성하는 PHP 파일의 위치가 다른 페이지와 동일한 도메인에 있지 않습니다. 캐시 파일로 폴더에 매핑되어 있으므로 - 다른 페이지는 내 URL에 있고, 인증코드를 생성하는 페이지는 다른 URL에 있으므로 경로와 도메인이 어떻게 설정되어도 해당 쿠키를 공유할 수 없습니다. , 상관없습니다. 그래서 세션을 사용하여 인증 코드를 저장해야 했습니다. 세션이 서버에 존재하기 때문입니다. 즉, 내 로컬 웹사이트에서 액세스할 수 있습니다.
다음 단계는 메인 이벤트입니다. 저는 이전에 Ajax에 대해 대략적으로만 이해했고 아직 그 용도와 특징을 알고 있지만, 백그라운드에서 데이터를 얻는 비교적 일반적인 개념을 어떻게 시작해야 할지 모르겠습니다. .
먼저 백그라운드에서 텍스트 파일의 내용을 얻기 위해 예제 질문의 코드를 분석했습니다.
function getHTTPObject(){ if(typedef XMLHttpRequest == "undefined") XMLHttpRequest = function(){ try{ return new ActiveXObject("Msxml2.XMLHTTP.6.0");} catch(e){} try{ return new ActiveXObject("Msxml2.XMLHTTP.3.0");} catch(e){} try{ return new ActiveXObject("Msxml2.XMLHTTP");} catch(e){} return false; } return new XMLHttpRequest(); } function getNewContent(){ var request = getHTTPObject(); if(request){ request.open("GET","TEST.txt",true); request.onreadystateschange = function(){ alert(request.responseText); } }else{ alert("no support XMLHttpRequest!"); } }
핵심은 다음과 같습니다.
request.open("GET","TEST.txt",true); request.onreadystateschange =function(){ alert(request.responseText); }
이 세 문장은 GET의 방향을 지정합니다. request 페이지와 XMLHttpRequest 객체가 응답을 다시 보낼 때 처리 기능이 트리거되고 request.responseText를 통해 데이터를 가져옵니다.
-------------------------------------- --------------------------------
하지만 제가 얻고 싶은 데이터는 백그라운드 php에서 생성된 인증코드 입니다 어떻게 백그라운드에서 인증 코드를 보내도록 하시겠습니까?
GET 또는 POST 방법에 관계없이 데이터는 백그라운드로 전송됩니다. Ajax는 백그라운드에서 데이터를 어디에서 검색합니까?
궁금해서 또 다른 정보를 확인하다가 예시를 찾았습니다.
XMLHttpRequest 객체가 반환한 응답의 처리 문은 다음과 같습니다.
request.onreadystateschange=alertContent; function alertContent(){ ... alert(request.responseText); ... }
요청한 파일은 check.php입니다.
그 중에 조건문 문장이 몇 개 있습니다. 출력:
if($info){ echo "你的用户名可以使用"; }else { echo "该用户名已被注册"; }
실행 중인 예제 렌더링에서 check.php 페이지의 출력과 같은 내용이 포함된 메시지 상자가 정적 페이지에 나타납니다! ! !
즉, ajax는 PHP 페이지의 출력 콘텐츠를 요청할 수 있으므로 다음 단계는 훨씬 간단합니다. 그림도 인증 코드 페이지의 출력이므로 인증 코드 페이지를 직접 ajax할 수 없기 때문입니다. 사진의 데이터도 획득됩니다.
새 PHP 페이지 만들기:
sission_start(); $code=""; if(!empty($_session['check']))$code=$_session['check']; echo $code;
그런 다음 ajax를 사용하여 프런트 엔드에서 이 페이지에 GET 요청을 하고 request.responseText를 사용하여 인증 코드를 받을 수 있습니다.
그런 다음 특정 조건에 의해 트리거되는 함수에 확인 프로세스를 캡슐화하여 실시간으로 확인합니다.
요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 추천 : pPhp mysql 단순 인터랙티브 사이트 개발 자세한 설명
Php는 간단한 Ajax 로딩 로딩 기능을 구현하는 방법
위 내용은 PHP+Ajax는 인증코드 실시간 인증 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!