>  기사  >  php教程  >  PHP+Ajax 비동기 통신은 사용자 이름과 이메일 확인을 구현하여 등록 여부를 확인합니다(2가지 구현 방법)

PHP+Ajax 비동기 통신은 사용자 이름과 이메일 확인을 구현하여 등록 여부를 확인합니다(2가지 구현 방법)

高洛峰
高洛峰원래의
2016-12-30 10:19:171535검색

머리말
코드를 직접적으로 기술하는 것은 좀 불친절하므로, 중국 전통에 따라 한 문단으로 기술해 보겠습니다. . . . (제 언어 실력이 부족하니 양해 부탁드립니다.)

기능은 웹사이트에 사용자를 등록할 때 주로 사용자가 입력한 사용자 이름이나 이메일이 새로고침 없이 등록되었는지 비동기적으로 확인하는 데 사용됩니다.
이 기능은 대부분의 웹사이트에서 본 적이 있을 것입니다. 저는 항상 이 기능에 관심이 있어서 지난 며칠 동안 jQuery + Ajax를 공부했습니다.
완벽하지는 않지만 그렇습니다. 자주 사용하는 코드(더 강력한 기능은 직접 찾아보실 수 있습니다)
파일 설명
reg.php //등록 페이지
check_user.php //사용자 확인 페이지(GET, POST) 방법 선택)
jquery-1.7.1.js //jquery 파일 다운로드 주소: http://code.jquery.com/jquery-1.7.1.js (마우스 오른쪽 버튼 클릭 후 다른 이름으로 저장)
코드 예시
reg.php 등록 페이지(2가지 방법이 있습니다. 하나를 선택하세요)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>PHP+Ajax 异步通讯注册验证</title> 
<script type="text/javascript" src="jquery-1.7.1.js"></script> <!--千万别忘记引用jQuery文件,否则无法执行--> 
<script type="text/javascript"> 
$(function(){ 
//方式一 jQuery(普通应用时推荐,简单易用) 
$("#user").blur(function(){ //文本框鼠标焦点消失事件 
$.get("check_user.php?user="+$("#user").val(),null,function(data) //此处get方式 可换为post方式按需求调整,其他无需修改使用方式一样 
{ 
$("#chk").html(data); //向ID为chk的元素内添加html代码 
}); 
}) 
//方式二 aJax方式 (比较复杂,如无特殊需求推荐使用方式一) 
$("#user").blur(function(){ 
$.ajax({ 
url:"check_user.php", //请求验证页面 
type:"GET", //请求方式 可换为post 注意验证页面接收方式 
data:"user="+$("#user").val(), //取得表文本框数据,作为提交数据 注意前面的 user 此处格式 key=value 其他方式请参考ajax手册 
success: function(data) 
{ //请求成功时执行操作 
$("#chk").html(data); //向ID为chk的元素内添加html代码 
} 
}); 
}) 
}) 
</script> 
</head> 
<body> 
<form id="reg" action="" method="post"> 
用户名:<input id="user" type="text" /> <span id="chk"></span> 
</form> 
</body> 
</html>

check_user.php 비동기 통신 페이지 코드는 다음과 같습니다.

<?php 
header("Content-type:text/html;charset=gb2312"); 
//GET方式获取数据(取决于异步提交时提交方式) 
if($_GET[&#39;user&#39;]) 
{ 
$user=$_GET[&#39;user&#39;]; 
//此处可进行数据库匹配,本次省略直接判断 
if($user=="admin") 
echo "<font color=red>用户名已被注册!</font>"; 
else 
echo "<font color=red>用户名可以使用</font>"; 
}else{} 
//POST方式获取数据(取决于异步提交时提交方式) 
if($_POST[&#39;user&#39;]) 
{ 
$user=$_POST[&#39;user&#39;]; 
//此处可进行数据库匹配,本次省略直接判断 
if($user=="admin") 
echo "<font color=red>用户名已被注册!</font>"; 
else 
echo "<font color=red>用户名可以使用</font>"; 
}else{} 
?>

위 2가지 방법 각각 post와 get의 두 가지 방법이 있으므로 선택할 수 있는 방법은 4가지라고 할 수 있으며 일반적인 응용 프로그램에는 충분할 것입니다.
또한 요청 데이터 유형, Ajax 시작 작업 및 기타 이벤트와 같은 Ajax의 다른 매개변수도 있습니다. 아약스 매뉴얼을 참고하세요. 여기서는 더 자세히 설명하지 않겠습니다. 첫 번째 방법을 사용하는 것이 좋습니다.
사진:

PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)

등록 여부를 확인하기 위해 사용자 이름 및 이메일 확인을 구현하는 추가 PHP+Ajax 비동기 통신의 경우(2가지 방법), PHP 중국어 웹사이트를 주목해주세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.