ajax检验验证码输入是否正确 通过ajax能够获得php验证码页面返回的内容,但是显示为乱码估计可能是验证码页面设置了header("Content-type: image/png;charset=utf-8");求高手指点怎么能获得验证码页面输出的验证码输入是否正确的文字内容谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 具体情况要具体分析1、ajax 使用 XMLHttpRequest 为载体传送数据。而 XMLHttpRequest 总是将传出的数据解释为 utf-8 编码的。并不管页面是什么编码的因此,若页面不是 utf-8 编码时,需要用 js 函数 encodeURIComponent 将传送的数据编码成 utf-8 编码的 url 编码格式2、若 php 程序不是 utf-8 编码的,须将传入的数据做相应的编码转换3、向 ajax 返回数据时,应加上声明语言编码类型的头。无论返回的是何种编码的数据,只要头正确。浏览器端都会做出正确的动作 我的代码是 $_SESSION['seccode'] = $code;//创建SESSION if ($_POST['session']) { if ($_POST['session']!=$_SESSION['seccode']) { echo "验证码不正确"; } }向 ajax 返回数据时,加上声明语言编码类型的头,应该怎么加 header("Content-type: image/png;charset=utf-8");红色部分为语言编码 这个我明白 我的意思是ajax验证 验证码输入是否正确的时候 返回的是乱码你刚刚说 在返回语句上加上声明语言编码类型的头怎么加 加在哪 $_SESSION['seccode'] = $code;//创建SESSION if ($_POST['session']) {if ($_POST['session']!=$_SESSION['seccode']) {//echo "验证码不正确"; //返回的值应该是utf-8编码格式,如果不想更改页面编码格式,建议使用英文echo 'right';exit;} } 我的整个网页用的都是utf-8编码,不需要改变编码格式我说的是这个问题判断输入的验证码与生成的验证码是否一样,如果不一样输出“验证码不正确”但总是不行 输出为一堆乱码 我怀疑 是不是 imagePng($image); imagedestroy($image);验证码页面的这两句话 导致整个页面是以png形式编码,导致无法输出文字求大神帮忙啊 这个问题发了三次贴了 老没解决 本帖最后由 xuzuning 于 2011-07-25 17:18:44 编辑 那你在验证码页面改为:header("Content-type: text/html;charset=utf-8");试试。还有确定你的程序也是用utf-8。 改过 text/html 不行整个php用的都是utf-8 各个浏览器里乱码总有这么一句 �PNG所以我怀疑是不是 imagePng($image); imagedestroy($image);这两句话的原因 你是用post方法提交的。有XMLHttpRequest .setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 这句吗? 我用的是jquery 中的ajax方法不清数怎么用 setRequestHeader("Content-Type", "application/x-www-form-urlencoded");这句话是干什么的 你是说 把验证码生成页面 用include方法导入 判断验证码是否正确的页面? 看了你的代码我无语了,先改你的PHP文件吧!生成图片验证码的代码单独一个文件,判断验证码是否正确单独一个文件 验证码图片是放在 img 标记中的<img src='验证码图片生成.php'>验证码验证是提交完成的,提交的目标是 验证码验证程序 那那个session还是放在生成验证码的页面中么只是把 if ($_POST['session']) { if ($_POST['session']!=$_SESSION['seccode']) { echo "验证码不正确"; } }拿到判断验证码的页面吗? 是的,当然 session_start(); 还是要的 验证码的页面叫做 verification.php你的意思是 再一个页面a.php<?php/* * Created on 2011-7-25 */header("Content-Type: text/html;charset=utf-8");error_reporting(E_ALL ^ E_NOTICE);include('verification.php'); if ($_POST['session']) { if ($_POST['session']!=$_SESSION['seccode']) { echo "验证码不正确"; } }?>对么 [求助]用curl采集一个页面,返回过来的为什么是bool值,怎么把值转成群组,并用正则匹配? PHP Warning: Cannot modify header information gbk_chinese_ci转utf8_general_ci 求改代码 关于三元运算符 求教:怎么把大写数字转化成阿拉伯数字? windows系统如何支持gd库? 现在在WINDOWS2000下重装MYSQL的时候,总是弹出什么INS5。。。.exe错误,然后就关闭了,无法安装MYSQL,大家有遇到过吗? 怎样才能解决PHP中一页不能长显示内容的问题 问题:如何修改Apache 配置文件httpd.conf中的Action ? 谢谢高手! PHP里print_r()和substr() url参数区分问题
1、ajax 使用 XMLHttpRequest 为载体传送数据。而 XMLHttpRequest 总是将传出的数据解释为 utf-8 编码的。并不管页面是什么编码的
因此,若页面不是 utf-8 编码时,需要用 js 函数 encodeURIComponent 将传送的数据编码成 utf-8 编码的 url 编码格式
2、若 php 程序不是 utf-8 编码的,须将传入的数据做相应的编码转换
3、向 ajax 返回数据时,应加上声明语言编码类型的头。无论返回的是何种编码的数据,只要头正确。浏览器端都会做出正确的动作
我的代码是 $_SESSION['seccode'] = $code;//创建SESSION
if ($_POST['session']) {
if ($_POST['session']!=$_SESSION['seccode']) {
echo "验证码不正确";
}
}
向 ajax 返回数据时,加上声明语言编码类型的头,应该怎么加
红色部分为语言编码
怎么加 加在哪
$_SESSION['seccode'] = $code;//创建SESSION
if ($_POST['session']) {
if ($_POST['session']!=$_SESSION['seccode']) {
//echo "验证码不正确";
//返回的值应该是utf-8编码格式,如果不想更改页面编码格式,建议使用英文
echo 'right';
exit;
}
}
imagedestroy($image);验证码页面的这两句话 导致整个页面是以png形式编码,导致无法输出文字
求大神帮忙啊 这个问题发了三次贴了 老没解决
整个php用的都是utf-8
imagedestroy($image);这两句话的原因
你是说 把验证码生成页面 用include方法导入 判断验证码是否正确的页面?
生成图片验证码的代码单独一个文件,判断验证码是否正确单独一个文件
<img src='验证码图片生成.php'>验证码验证是提交完成的,提交的目标是 验证码验证程序
那那个session还是放在生成验证码的页面中么只是把 if ($_POST['session']) {
if ($_POST['session']!=$_SESSION['seccode']) {
echo "验证码不正确";
}
}拿到判断验证码的页面吗?
/*
* Created on 2011-7-25
*/
header("Content-Type: text/html;charset=utf-8");
error_reporting(E_ALL ^ E_NOTICE);
include('verification.php');
if ($_POST['session']) {
if ($_POST['session']!=$_SESSION['seccode']) {
echo "验证码不正确";
}
}
?>
对么