2014-01-17 39 views
-1
<?php 
if(isset($_POST["username"]) && $_POST["username"] != "") 
    { 
    $username= $_POST['username']; 
    if (strlen($username) < 4) { 
    echo '4 - 15 characters please'; 

    } 
if (is_numeric($username[0])) { 
echo 'First character must be a letter'; 

} 
} 
?> 

PHP代碼不工作:請使用Java腳本或AJAX幫我驗證AJAX的PHP驗證PHP代碼不工作

e<script type="text/javascript" language="javascript"> 
    function callme() 
{ 
var showme = document.getElementById("show"); 
var user = document.getElementById("uname").value; 
    //for check new browser show ajax from 
if(user!=="") 
{ 
showme.innerHTML=' loading.....'; 
    var hr = new XMLHttpRequest() 
    { 
    hr.open("post","index.php",true); 
    hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    hr.readystatechange=function() 
{ 
    if(hr.readystate== 4 && hr.status==200) { 
    showme.innerHTML= hr.responseText; 
    } 
    } 
    var v="username="+ user; 
    hr.send(v); 
    } 
} 
} 
</script> 

    <body> 
    <span>username:</span> 
    <input type="text" name="uname" id="uname" onBlur="callme();"/> 
    <div id="show"></div> 
    </body> 

所有的代碼工作不工作精唯一的PHP代碼,請幫我 當我們進入在文本框中的一些文本只加載..... 任何類型的驗證都不顯示...

回答

0

我認爲你的問題在這裏hr.readystatechange。你需要的是hr.onreadystatechange

0

也許這不是解決方案,但你可以echo或print_r或在文件中,你從瀏覽器在php中收到,看看$ _POST ['用戶名']是否與這個名字來,並沒有與uname。

print_r($_POST); 

你的代碼是很老了,現在你可以使用jQuery讓一切變得簡單JavaScript和PHP的有很多的框架,有可以做你的PHP容易。像onclick到html的標籤已被棄用或非常接近。

是更好,如果你期待一個字符串

$_POST["username"] !== "" 

嘗試將郵件存儲在一個變量,在PHP函數結束時,返回它,最好只有一個不是沿着函數的多個出口。

下次嘗試按順序放置問題和代碼,以便閱讀和理解。

謝謝,對不起我的英文... XD