2009-12-20 191 views
0

我正在使用jQuery註冊表單,並且使用jQuery檢查所有輸入,剩下的唯一事情就是查看用戶是否正在選擇已經註冊的名字。

這裏是我的Ajax請求:

$.ajax({ 
    type: "POST", 
    url: "check_user.php", 
    data: "username="+username, 
    success: function(){ 
    errors.push('Your username is taken.'); 
    } 
}); 

而且check_user.php:

<?php 
include_once('../lib/config.php'); 

$username = $_POST['username']; 
$query = mysql_query("SELECT * FROM `users` WHERE `username` = '$username'"); 
if(mysql_num_rows($query) == 1) { 
    header("HTTP/1.1 200 OK"); 
} 

?> 

我知道errors.push();因爲當我試圖弄清楚Ajax請求之前出現了什麼問題時,只要點擊「註冊」,我的註冊頁面就會顯示「用戶名已接受」消息。現在什麼都沒有顯示出來。

這裏是我所有的整個註冊頁面:http://pastebin.org/66815

+0

如果你連線錯誤或完成事件會被解僱嗎? – Goyuix

+0

你是什麼意思? – Andrew

+2

一旦你瞭解了$ .ajax的使用情況,並基於這裏顯示的check_user.php片段,我建議尋找編碼來防止PHP請求端的SQL注入。看準備的統計http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php/60496#60496和過濾http://stackoverflow.com/questions/60174/best- way-to-stop-sql -injection-in-php/60442#60442一切順利。 – micahwittman

回答

2

文件(signup.php)位於C:\ XAMPP \ htdocs中\註冊\用戶\ signup.php

我使用.htaccess文件和RewriteRule ^signup user/signup.php並在http://localhost/signup查看。當我刪除該重寫規則並得到http://localhost/register/user/signup.php,一切工作正常。

因此,我將url: "check_user.php"更改爲"url: user/check_user.php",它一切正常。我不知道.htaccess是那個壞蛋。