我使用$ _SERVER ['PHP_SELF']來運行函數,因爲它包含的方式在我的插件頁面中調用,我無法直接調用functions.php文件,所以我現在想做的事情是在註冊腳本上工作,問題是我的回報不能按我想要的方式使用。例如。使用PHP_SELF返回單個響應
public function CheckUserName() {
$query = <<<SQL
SELECT id
FROM {$this->tprefix}accounts
WHERE username = :posteduser
SQL;
$resource = $this->db->db->prepare($query);
$resource->execute(array (
':posteduser' => $_POST['username'],
));
if($resource->rowCount() == 0) {
//Self Continue to run checks
}
else {
echo "1";
}
}
是我的檢查,以確保用戶名是不是已被使用,而兩人將電子郵件是否已在使用我的回答迴盪。我的Ajax是
$(function() {
$("#register_").submit(function(event) {
event.preventDefault();
var username = $("#username").val();
if(username == "") { $("#unameerror").html("Username is Required"); }
$.ajax({
type: "POST",
url: $("#register_").attr("action"),
data: $("#register_").serialize(),
success: function(data) {
if(data==1) { alert("Username is taken. Please choose another!" };
if(data==2) { alert("Email already registered. Please select lost password
if you have forgotten your password" };
if(data==0) { alert("Account Created!") }; //0 is returned after all checks passed and scripts executed
},
error: function() {
alert("Something isn't right");
}
});
});
});
我的問題是,因爲它是從PHP_SELF運行它撲滅的所有信息(IE <html><title>reg script</title><body><form id = "reg"></form></body><html>
我能想到把我這是怎麼可以分析我的所有數據恢復到簡單地返回腳本的最佳方式代碼?
這個解決方案如何:在ajax數據中發送一個額外的字段,如'action:xx'。然後使用'$ _POST ['action'] =='xx''來檢查此頁面是由ajax還是由Internet Explorer調用。 – Turtle
我不確定你的意思。 = /我會修補它,但現在我用流程告訴它要發送什麼樣的表單;我猜我有些事我不知道我可以做只返回一些東西。 –