2012-02-25 21 views
2

議決 - 參見後的底部Ajax的PHP腳本返回包括錯誤

嘿大家的第一篇文章,所以我提前道歉,如果格式不那麼準確;不過這裏是我的問題..

我有一個簡單的形式爲用戶添加電子郵件到數據庫。我正在利用ajax提交表單和php來處理(添加到數據庫)有效的表單提交。

ajax腳本正確地發送數據 - 我利用螢火蟲驗證表單數據正在傳遞 - 而且我驗證了在ajax調用中指定的php腳本正確接收數據。

問題出在數據被傳回給ajax成功函數。我在php腳本中包含一個包含連接到我的數據庫的類,以及過多的數據庫函數(運行quires,設置數據庫表,關閉數據庫連接..等等..)。當ajax成功函數返回數據時,返回的數據中包含php'missing include'錯誤。

Theories I have that is causing this: 

1)不管什麼,當AJAX成功函數返回數據

2.在PHP腳本包括呼叫正在處理)的原因包括呼叫從未被在服務器端處理和正在作爲返回字符串

問題:can包含調用可用於我正在使用的方法嗎?

希望我已經包含足夠的信息,如果不是,請讓我知道還需要什麼。謝謝你的幫助。 =]

下面是代碼:

AJAX SCRIPT:

$.ajax({ 
    type: "POST", 
    url: "xxxx/include/module/mailing_list/mailvalidation.php", 
    data: formData, 
     beforeSend: function(){ 
     //validation code for form\\ 
     }, 
     success: function(data){ 
     alert("successful submissio: " + data); 
     } 
)}; 

PHP腳本:

include("xxxx/library/database/class_lib_db.php"); 
cleanPost(); 
if (userInDB){ 
    insertUserInfo(); 
    echo "You ajax post was submitted " . $_POST['first_name'] . " " . $_POST['last_name']; 
} else { 
    echo "Your already registred " . $_POST['first_name'] . " " . $_POST['last_name']; 
} 

這裏是在AJAX數據返回的錯誤:

警告:包含(xxxx/library/database/class_lib_db.ph P) []:未能打開流:在 /home/xxxx/public_html/xxxx/include/module/mailing_list/mailvalidation.php 沒有這樣的文件或目錄 上線77

警告:包括(xxxx/library/database/class_lib_db.php) [function.include]:未能打開流:沒有這樣的文件或目錄 in /home/xxxx/public_html/xxxx/include/module/mailing_list/mailvalidation.php on line 77

Warning:include()[function.include]:開啓失敗 'xxxx/library/database/class_lib_db.ph p'包含 (include_path ='。:/ usr/lib/php:/ usr/local/lib/php')。上線77

PHP 議決

我已經編輯了包括在PHP腳本調用

前:include("xxxx/library/database/class_lib_db.php");

後:include("../../../../xxxx/library/database/class_lib_db.php");

注意 :我從來沒有必須參加只有利用AJAX

+0

此錯誤表示路徑'aokcdc/library/database/class_lib_db.php'不存在 – scibuff 2012-02-25 23:54:56

+0

嘿scibuff,謝謝你的回覆。我熟悉php解析錯誤,我已經遇到過很多。不過,我希望這很簡單。我已經驗證包含文件確實存在。 在實現ajax之前,我使用基本的jQuery提交方法提交了表單,並且我沒有包含任何問題..任何其他想法? – 2012-02-26 00:08:04

回答

1

嘗試改變路徑的包括功能

include("../../../library/database/class_lib_db.php"); 

前倫斯我包括與電話「../」如果你正在做一個Ajax請求的「xxxx /包括/模塊/ mail_list/mailvalidation.php「,PHP腳本中的include語句實際上指向」xxxx/include/module/mailing_list/xxxx/library/database/class_lib_db.php「