ajax提交与php验证是什么,php使用ajax验证用户名是否存在

发布时间:2022-11-18

本文目录一览:

  1. php与ajax密码验证
  2. php-ajax验证表单的一点问题
  3. thinkphp-验证是不是ajax提交
  4. 请问个php+ajax验证码验证的问题
  5. php怎么判断是否是-ajax-提交
  6. 我用ajax+php做了个验证页面,请问最近该如何验证所有表单内容是否通过?

php与ajax密码验证

第十四行要注释, 其它无语法错误 //username=document.regform.username.value; 逻辑上没看懂 check_psw1() 函数你没用过 regcheck.php 接收了两个变量 你只传入一个 var a=ajaxpub("regcheck.php?"+url+"="+psw2); 好像你是在等回答者帮你做完对吧 就是看密码是否一样不用php,在客户端和服务器端传变量会很慢 可以这样改 check_psw2()

function check_psw2(url,psw2){
    if(document.regform.psw1.value==document.regform.psw2.value) {
        document.getElementById("psw02").innerHTML ="一样一样一样的";
    } else {
        document.getElementById("psw02").innerHTML ="好像不一样";
    }
}

要想看密码对不对 还可以再改check_psw2

function check_psw2(url,psw2){
    if(document.regform.psw1.value==document.regform.psw2.value) {
        document.getElementById("psw02").innerHTML ="俩密码一样";
        var a=ajaxpub("regcheck.php?"+url+"="+psw2); 得到密码对不对在a中
        if(a=="ok")
            document.getElementById("psw01").innerHTML="密码完全正确,加10分";
        else
            document.getElementById("psw01").innerHTML="密码错了,扣10分";
    } else {
        document.getElementById("psw02").innerHTML ="不一样";
    }
}

当然这样就要改.php文件了

//echo $psw1=$_GET['psw1'];
//echo $psw2=$_GET['psw2'];
if ($_GET['psw2']=="1234" ) {
    echo "ok";
} else {
    echo"no";
}

还有,你这个js得到的密码不能处理中文乱码问题, 也就是说密码不能是中文的,也不能是除了英语外的语言文字, 实际在我的ie上http_request.responseText要改成http_request.responsebody不可乱用,会出人命的

php-ajax验证表单的一点问题

建议你在JavaScript里面使用一个“全局”变量,比如isUsernameAvailable,并置它的初始值为false,而且在提交表单时检查它的值,然后才能提交的。并且只有Ajax检查用户名不存在才能赋值为true。 PS:http_Ajax.onreadystatechange=function(){}应该放到http_Ajax.open("GET",url,true);前面的。

thinkphp-验证是不是ajax提交

有两种方式,如下:

第一种方式:

PHP判断ajax请求的原理: 在发送ajax请求的时候,我们可以通过XMLHttpRequest这个对象,创建自定义的header头信息,在jquery框架中,对于通过它的$.ajax, $.get, or $.post方法请求网页内容时,它会向服务器传递一个HTTP_X_REQUESTED_WITH的参数,php中就是在header一层判断是否是ajax请求,对应的根据$_SERVER['HTTP_X_REQUESTED_WITH']判断。

/**
 * 当前请求是否ajax请求
 *
 * @access public
 * @return bool
 */
function isAjax()
{
    return isset($_SERVER['HTTP_X_REQUESTED_WITH']);
}

注意:

  • 一般情况下$_SERVER['HTTP_X_REQUESTED_WITH']默认是XMLHttpRequest
  • $_SERVER['HTTP_X_REQUESTED_WITH']也可以自定义创建的,使用XMLHttpRequest.setRequestHeader(name,value);参考文章:

第二种方式:

通过前台给php传一个type参数来判断,type=1则是ajax,否则是普通提交。

请问个php+ajax验证码验证的问题

这是AJAX缓存问题,LZ 需要保证传过去的页面每次都不一样:办法有:

  1. 在服务端加 header("Cache-Control: no-cache, must-revalidate");(如php中)
  2. 在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0");
  3. 在ajax发送请求前加上 anyAjaxObj.setRequestHeader("Cache-Control","no-cache");
  4. 在 Ajax 的 URL 参数后加上 "?fresh=" + Math.random(); //当然这里参数 fresh 可以任意取了
  5. 第五种方法和第四种类似,在 URL 参数后加上 "?timestamp=" + new Date().getTime();
  6. 用POST替代GET:不推荐 [POST的数据是不缓存的]
  7. 加个随机数 xmlHttp.open("GET", "ajax.asp?now=" + new Date().getTime(), true);

php怎么判断是否是-ajax-提交

思路:在你进行ajax请求的时候,设置一个文件头信息的变量,在php端判断这个信息是否存在以及是否等于自己设置的值,就可以知道是否是ajax请求了。 做法:js端发送头信息 对象.setRequestHeader("变量名","变量值");xmlHttp.setRequestHeader("X_REQUESTED_WITH","XMLHttpRequest"); php端接受信息,注意此时接受的变量存在 $_SERVER['HTTP_变量名'];中, 如上面的例子则为$_SERVER['HTTP_X_REQUESTED_WITH'];

echo isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH']=='XMLHttpRequest') ? 'it is ajax' : 'it is not ajax';

注释:js和jquery中有些许不同,自己注意一下,再者变量名字不要冲突了 附加:如果这是你自己的网站,你只是自己区别一下的话,这样就可以了,但是,它是防止不了别人盗用你的ajax数据的,因为这些都是可以模拟的,一个好的方法是设计session验证之类的。

我用ajax+php做了个验证页面,请问最近该如何验证所有表单内容是否通过?

楼上已经回答了,客户端提交的动摇再提交前用JS验证一遍,网上有很多现成的正则,改改就能用,或者用上说的JQ的一个控件,再接收到请求数据后再用PHP验证一遍(永远不要相信用户)。同理正则验证。