2014-02-24 65 views
0

所以我試圖插入一行到我的數據庫。我打電話給一個類似Ajax的函數來在我的表中插入一個新行。但它不插入一行。Ajax函數沒有運行

function showResult(first, last) 
    { 

    var First = first; 
    var Last = last; 

     if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp=new XMLHttpRequest(); 
     } 
     else 
     {// code for IE6, IE5 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.open("POST","http://www.website.ca/portal/MyChapter2/cgi-bin/DetermineUser.php?FirstName="+First+"&LastName="+Last,true); 
     xmlhttp.send();  

    } 

這裏是它的文件,以便將行插入表中。

<?php 
require_once (dirname(__FILE__) . '/../../include/Initialization.php'); 
require_once (PORTAL_PATH . '/include/FormLibrary.php'); 
require_once (PORTAL_PATH . '/include/SingleRowQuery.php'); 
require_once (PORTAL_PATH . '/include/Functions.php'); 
require_once (PORTAL_PATH . '/include/VolunteerInterests.php'); 
require_once (PORTAL_PATH . '/TaskManager/cgi-bin/AutoTaskFunctions.php'); 

$FirstName = $_POST['FirstName']; 
$LastName = $_POST['LastName']; 

$sql="INSERT INTO `Track_Notification`(`Track_ID`, `Track_UserID`) VALUES ('$FirstName','$LastName')"; 
echo ("success"); 

?> 
+0

它實際上做了什麼? – Archer

+0

爲什麼使用jQuery進行標記? –

+0

**'Ajax Function Not Running' ** ...它在網絡瀏覽器中失敗了嗎?由於語法錯誤,它沒有運行嗎?你的PHP文件是否精美和華麗?請按照以下步驟正確調試AJAX問題,然後您可以正確地指責哪些代碼被破壞:http://stackoverflow.com/a/21617685/2191572 – MonkeyZeus

回答

0

您沒有運行查詢

添加

$result = mysqli_query($sql); 

(或mysql_query,根據你使用的是什麼)

3

你正在做一個職位,但不發送通過該POST的任何數據。你的URL,這實際上是一個GET技術發送數據:

xmlhttp.open([..snip...] /DetermineUser.php?FirstName="+First+"&LastName="+Last,true); 
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

不要緊,HTTP動詞使用,如果在URL中的查詢參數,它們會在$ _GET,所以

$_GET['FirstName']; 
$_GET['Lastname'];' 

而且,除此之外,你容易受到SQL注入式攻擊,所以喜歡有你的服務器pwn3d。

+0

ops yea,我改變了這一點,讓這裏發佈錯誤的代碼。我如何防止SQL注入攻擊? – CFleming