
首先设计主页,一些简单的文本空间和按钮:
代码如下:
代码:
用户名:
密码:
form> div> body>

接下来,详细解释ajax部分:
首先创建请求对象.
代码:
varrequest = null; functioncreatRequest(){尝试{request = newXMLHttpRequest();} catch(trymicrosoft){try {request = newActiveXObject(Msxml2.XMLHTTP);} catch(othermicrosoft){try {request = newActiveXObject(Microsoft.XMLHTTP);} catch(失败){request = null;}}}如果(request == null)警报(“ Failedtocreatarearequestobject!”);}
然后,创建一个触发函数:
代码:
functiongetResult(){creatRequest(); varurl =“ getName.php”; request.open(“ POST”,url,true); request.onreadystatechange = UpdatedPage; request.send(null);}
每次 onchange触发调用函数
在getResult()函数中,首先创建一个请求对象,然后指示链接指向哪个URL,然后打开连接. request.onreadystatechange = UpdatedPage;
这句话非常重要,其中updatedPage()是一个回调函数,可以用来告诉浏览器在从服务器获得响应后立即执行updatedPage()函数.

下一个是:
代码:
functionupdatedPage(){if(request.readyState == 4){varname = request.responseText; varnew_name = document.getElementByIdx_x_x(“ na”). 值; varnameE1 = document.getElementByIdx_x_x(“ check_id”); if(name == new_name){nameE1.innerHTML =“用户名已经存在!”;}否则{nameE1.innerHTML =“恭喜php ajax异步登录,您可以注册!”;}}}
使用它异步更新页面.
最后,所有内容都通过php从中查询
php代码如下:
代码:
<? phpheader(“ content-type: text / html; charset = utf-8”); $ conn = @ mysql_connect(“ localhost”,“”,“”)ordie(“ ErrorconnectingtoMysql: ”. mysql_error());如果(!mysql_select_db(“ info”,$ conn))死(“ Errorselectingdatabase: ”. mysql_error()); $ sql ='SELECT * FROMinfo_table'; mysql_query(“ setnamesutf8;”); $ queryResult = @ mysql_query($ sql);如果(!$ queryResult)死亡(“ ERRORretrievingnamefromdatabase!”); while($ row = mysql_fetch_array($ queryResult)){$ name = $ row ['name'];} echo $ name; mysql_close($ conn);?>
需要注意的是,我使用的页面是GB2312,为UTF-8,所以页面会出现乱码.
解决方案:
首先,使用html标签设置页面编码
此标签的作用是声明客户端浏览器用来显示页面的编码字符集. xxx可以是GB2312,GBK,UTF-8(与MySQL不同,MySQL是UTF8)等等. 因此,大多数页面可以使用此方法来告诉浏览器在显示此页面时使用哪种编码,以免引起编码错误和乱码. 但是有时候我们会发现这句话还是不好的,不管是哪种xxx,浏览器总是使用一种编码方式,这种情况我以后再讨论.
请注意,它属于HTML信息,仅是一条语句,仅表明服务器已将HTML信息传输到浏览器.
第二个PHP函数: 标头(“内容类型: 文本/ html;字符集= xxx”);
此函数标头()的功能是将括号中的信息发送到http标头.
如果括号中的内容如上所述,则该功能与标签基本相同. 您会发现第一个字符相似.
但是区别在于,如果有此功能,浏览器将始终使用您需要的xxx编码,并且永远不会违背,因此此功能非常有用.
为什么会这样?然后,您必须谈论http标头和HTML信息之间的区别:
http标头是服务器使用HTTP协议向浏览器发送HTML信息之前发送的字符串.
标签属于HTML信息,因此标头()发送的内容首先到达浏览器,这可以理解为标头()的优先级高于meta.
如果php页面同时具有标头(“ content-type: text / html; charset = xxx”)并且已定义浏览器,则它将仅识别以前的HTTP标头,而不识别元数据. 是什么原因?继续深入分析: 下一步讨论Apache的原因.
三,环境设置: AddDefaultCharset
在Apache根目录的conf文件夹中,有整个Apache配置文件httpd.conf.
使用文本编辑器打开httpd.conf,
搜索: AddDefaultCharset xxx,xxx是代号.
这行代码的含义: 将整个服务器中Web文件的http标头中的字符集设置为默认的xxx字符集.
在这一行中,这等同于向每个文件添加标题(“内容类型: 文本/ html;字符集= xxx”).
在这里,我们了解了为什么将其明确设置为utf-8,以及浏览器始终使用gb2312的原因.
如果网页上有标头(“内容类型: 文本/ html;字符集= xxx”),请将默认字符集更改为您设置的字符集,因此此功能始终有用.
如果在AddDefaultCharset xxx前面添加“#”,请注释掉此句子,并且页面不包含标题(“ content-type ...”),那么轮到meta标签起作用了.
以上优先级如下:
1,标题(“内容类型: 文本/ html;字符集= xxx”)
2,AddDefaultCharset xxx
因此,建议在每个页面上添加标题(“ content-type: text / html; charset = xxx”),以确保可以在任何服务器上正确显示它,并且可移植性相对较高坚强.
四,php.ini中的default_charset配置:
php.ini中的default_charset =“ gb2312”定义了php的默认语言字符集.
建议注释掉这一行,让浏览器根据网页标题中的字符集自动选择语言,而不是强制性规定,以便可以在同一语言上提供多种语言的Web服务服务器.
mysql + php产生乱码的原因:

mysql的默认编码为utf8. 如果此编码与您的PHP网页不一致,则可能导致MYSQL乱码.
在MYSQL中创建表时,将要求您选择一种编码. 如果此编码与您的网页编码不一致,则也可能导致MYSQL出现乱码.
在MYSQL中创建表时添加字段是可选的. 如果此编码与您的网页编码不一致,则也可能导致MYSQL乱码.
用户提交的页面的编码与显示数据的页面的编码不一致,这肯定会导致PHP页面混乱.
如果用户输入信息的页面是big5代码,则显示用户输入的页面是gb2312,这100%会导致PHP页面出现乱码.
PHP页面的字符集不正确.
PHP连接MYSQL语句指定的编码不正确.
注意:
许怀疑mysql的不一致版本会导致字符乱码. 我相信您在阅读了此说明后不会这么认为.
您通常在某些网站上看到的文本可能有几种编码,如果您看到繁体中文字符,则可能是big5编码,可能是UTF-8编码,并且更有可能是gb代码. ,是的php ajax异步登录,也就是说,存在具有简化代码的传统字符和具有传统代码的简化字符,因此请务必理解这一点.
如果要制作简化的编码网页,则代码设置为GB2312. 如果来自香港和台湾的访客提交传统信息,可能会导致字符混乱. 解决方案:
将网站编码设置为utf-8,以便与世界上所有字符兼容.
如果网站已经运行了很长时间,并且有很多旧数据,您不能再更改简体中文的设置,那么建议将页面的编码设置为GBK. GBK和GB2312的区别在于: GBK可以显示的字符数超过GB2312,如果要显示简化代码的传统字符,则只能使用GBK.
使用mysql + php生成乱码的原因已广为人知,因此解决它们并不困难.
mysql + php产生乱码的解决方案:
如果无法再更改安装mysql的代码,许多朋友会购买虚拟主机来构建网站,并且无权更改MYSQL的安装代码. 我们可以跳过此级别,因为只要后续步骤是正确,我们还可以解决字符乱码的问题.
修改代码. 如果代码不正确,则可以在phpmyadmin中执行以下命令:
ALTER DATABASE'test'默认字符集utf8 COLLATEutf8_bin
上面的命令是将测试的编码设置为utf8.

修改表格的编码:
ALTER TABLE“类别”默认字符集utf8 COLLATEutf8_bin
上面的命令是将表类别的编码更改为utf8.
修改字段的编码:
ALTER TABLE'test'更改'dd''dd'VARCHAR(45)字符集utf8 COLLUT utf8_bin不为空
上面的命令是将测试表中dd的域代码更改为utf8.
如果这种情况很容易解决,只需检查下一页并修改源文件的字符集即可.
在这种情况下,只需修改页面字符集.
在连接的语句中.
mysql_connect('localhost','user','password');
mysql_select_db('my_db');
mysql_query(“ set namesutf8;”); //选择后添加此句子
为避免出现PHP页面乱码,PHP页面的第一句开始
header(“内容类型: 文本/ html;字符集= utf-8”);
但是,页面的乱码问题得到了解决,但是responseText在阅读后出现了乱码
原因是已使用GET方法,并且通过将GET方法更改为POST方法来解决了问题
最后效果:

异步注册验证“ />
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-164917-1.html
质检总局都是摆设