php文件中验证码判断验证问题 一个在服务器端,一个在客户端..... 你要用AJAX来获取服务器端的验证码,然后对比 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把生成的验证码存入cookie 然后用ajax把输入的字符串传到php页面进行判断是否和cookie里面的相等 var verify_code = <?php echo $_SESSION['verify_code']>;var code = $("#code").val();if (verify_code != code){ alert("验证码不一致"); return false;} 少了?<?php echo $_SESSION['verify_code']?>; js判断不了。正确做法:js是将用户输入的验证码,用ajax传到服务器比对,再返回结果的。 我现在是用了个文本框显示session值在js文件中取文本框的值,但session值总是比图片上的验证码慢一步 你把验证码值写在表单里?<input type="hidden" name="hidden" value"<?php echo $_SESSION['checkCode']?>" id="hidden">先不说会慢一拍,你这样做不就没有意义了吗?验证码是为了防止机器人连续提交的,你提供了验证码文本不是更容易识别了吗?验证码是在执行 ValidationCode.php 是才产生的,你 echo $_SESSION['checkCode'] 时,验证码还未产生呢 那我js文件怎么调用session值呢, session_start();if($_POST['ValidateCode'] != $_SESSION['checkCode']) { die('验证码错');} 这个result显示出来图片上的值,但判断总是提示错误 通过 ajax 也是在服务端验证 function showcode(){ S_XMLHttpRequest(); xmlhttp.open("POST","vcode_check.php",true); xmlhttp.onreadystatechange=code;//准备就绪 xmlhttp.send(null);//发送var img=document.myform.hidden.value; }function code(){ if(xmlhttp.readyState==4){ if(xmlhttp.Status=200){ var result=xmlhttp.responseText; var c=document.myform.validateCode.value;alert(result.toLowerCase()); alert(c.toLowerCase()); if(c=="") { document.getElementById('showcode').innerHTML="<font color=red>验证码不能为空</font>"; document.myform.verify.focus(); } if(c.toLowerCase()!=result.toLowerCase()) { document.getElementById('showcode').innerHTML="<font color=red>验证码错误</font>"; document.myform.verify.focus(); } }}} 你把表单中填写的验证码值发送到 vcode_check.php 中在 vcode_check.php 中判断是否正确 我js中alert(c.toLowerCase());这个提示显示的是正确的 那我现在是从哪边改呢,我现在不是用了ajax了吗 我表单元素在a.php中我如何在b.php中取出表单的某个输入值 不要用混编 html一个页面 ajax提交的数据又是一个php页面把html表单通过js用ajax提交到php 进行对比 例如正确返回1 错误返回0 然后在js里面判断返回的是1还是0 asp代码转php代码 急!在线等!php中如何生成报表!谢谢! ajax局部刷新里innerHTML里的JS无法执行 高分求某网站分页模拟程序 迷茫!请高手指点~~ 实现IP反查询的代码,请指教 php的面向对象如何掌握 进着皆有分 告那些对学习PHP还不坚定的朋友 一行显示多列的问题 一个关于cookie 的问题啊!菜鸟,谢谢了! js $_post传过来 PHP接收 echo不运行 php上传文件-断点续传
var code = $("#code").val();
if (verify_code != code){
alert("验证码不一致");
return false;
}
正确做法:js是将用户输入的验证码,用ajax传到服务器比对,再返回结果的。
<input type="hidden" name="hidden" value"<?php echo $_SESSION['checkCode']?>" id="hidden">
先不说会慢一拍,你这样做不就没有意义了吗?
验证码是为了防止机器人连续提交的,你提供了验证码文本不是更容易识别了吗?验证码是在执行 ValidationCode.php 是才产生的,你 echo $_SESSION['checkCode'] 时,验证码还未产生呢
if($_POST['ValidateCode'] != $_SESSION['checkCode']) {
die('验证码错');
}
S_XMLHttpRequest();
xmlhttp.open("POST","vcode_check.php",true);
xmlhttp.onreadystatechange=code;//准备就绪
xmlhttp.send(null);//发送
var img=document.myform.hidden.value;
}
function code(){
if(xmlhttp.readyState==4){
if(xmlhttp.Status=200){
var result=xmlhttp.responseText;
var c=document.myform.validateCode.value;
alert(result.toLowerCase());
alert(c.toLowerCase());
if(c=="")
{
document.getElementById('showcode').innerHTML="<font color=red>验证码不能为空</font>";
document.myform.verify.focus();
}
if(c.toLowerCase()!=result.toLowerCase())
{
document.getElementById('showcode').innerHTML="<font color=red>验证码错误</font>";
document.myform.verify.focus();
}
}
}
}
在 vcode_check.php 中判断是否正确
把html表单通过js用ajax提交到php 进行对比 例如正确返回1 错误返回0 然后在js里面判断返回的是1还是0