Webmaster общности: Predpriemach.com | SearchEngines.bg

    Проверка за заето име при регистрацията с аякс

    Автор: mute

    Това няма да е точно урок а по скоро код как с AJAX да проверим дали потребилското име е заето при регистрация и то без да презареждаме страницата.
    form.html

    <html>
    <head>
    <script src=chekname.js></script>
    </head>
    <body>
    
    <form>
    First Name:
    <input type="text" id="txt1"
    onblur="showHint(this.value)">
    </form>
    
    <p>Името е: <span id="txtHint"></span></p>
    
    </body>
    </html>

    chekname.js

    var xmlHttp
    
    function showHint(str)
    {
    if (str.length<=3)
    {
    document.getElementById("txtHint").innerHTML=""
    return
    }
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
    alert ("Browser does not support HTTP Request")
    return
    }
    var url="getname.php"
    url=url+"?q="+str
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=stateChanged
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
    }
    
    function stateChanged()
    {
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    {
    document.getElementById("txtHint").innerHTML=xmlHttp.responseText
    }
    }
    
    function GetXmlHttpObject()
    {
    var xmlHttp=null;
    try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
    // Internet Explorer
    try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    return xmlHttp;
    }

    С следния javascript правим заявка към getname.php които проверява дали потребителското име е заето и връща надпис СВОБОДНО или ЗАЕТО
    getname.php

    <?php
    $link=mysql_connect('localhost',$user,$password);
    $db=mysql_select_db($database);
    $name=$_GET['q'];
    $sql="SELECT username FROM phpbb_users WHERE username='$name'";
    $q=mysql_query($sql);
    $broi=mysql_num_rows($q);
    if($broi==0){echo "СВОБОДНО";}
    else {echo "ЗАЕТО";}
    ?>

    Оставете коментар