2013-03-03 84 views
1

每次我嘗試提交我的表單時,它只返回「E」,只返回「E」,我不知道爲什麼會發生這種情況,誰能幫我解決這個問題?jquery不會將數字傳遞給php

我已經嘗試了多種方法,我可以;噸似乎得到的結果應該返回

的Jquery:

 $('#edit_ok_btn').click(function(e) 
{ 
    e.preventDefault(); 
    $('#NoticeBox').hide("slide", { direction: "up" }, 500, function() { 
    $('#NoticeBox').show("slide", { direction: "up" }, 500); 
    $('#NoticeBox').removeClass() 
    $('#NoticeBox').addClass('Box_Working') 
    $('#noticeText').html("Processing page..."); 

    var formData = $('#EditorForm').serialize(); 
    submitWebPage(formData); 



    }); 
}); 

    function submitWebPage(formData) { 

$.ajax({  
    type: 'POST', 
    url: 'PageProcessor.php',  
    data : {'formdata' : formData}, 
    dataType: 'json', 
    cache: false, 
    timeout: 7000, 
    success: function(data) { 


    $('#NoticeBox').hide("slide", { direction: "up" }, 500, function() { 

     if(data.error == false) 
     { 
      $('#NoticeBox').show("slide", { direction: "up" }, 500); 
      $('#NoticeBox').removeClass() 
      $('#NoticeBox').addClass('Box_Success') 
      $('#noticeText').html(data.msg); 
      $('#PageEditor').fadeOut(1000); 

      $('#NoticeBox').delay(1000).hide("slide", { direction: "up" }, 500, function() { 
      location.reload(); 
      }); 



     } 
     else 
     { 
      $('#NoticeBox').show("slide", { direction: "up" }, 500); 
      $('#NoticeBox').removeClass() 
      $('#NoticeBox').addClass('Box_Error') 
      $('#noticeText').html(data.error); 
     } 

    }); 

    }, 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 

    $('#responder').removeClass().addClass('Box_Error').html('<p>There was an ERROR!<strong></p>'); 


    } 
}); 

PHP

$PageID   = $_POST['formdata']['EditID']; 
$PageTitle  = $_POST['formdata']['PageTitle']; 
$PageCategory = $_POST['formdata']['CategoryList']; 
$PageContent = $_POST['formdata']['elm1']; 
$PagePublished = $_POST['formdata']['PublishPageOption']; 

if($PageID == "NEW") 
{ 

mysqli_query("INSERT INTO Web_Pages (Title, HTML, Category, Last_Author, Edit_Date, Published) VALUES ('".$PageTitle."','". $PageContent."','".$PageCategory."','LUX','".date("Y-m-d")."','".$PagePublished."') "); 

     $return['error'] = false; 
     $return['msg'] = '<i>'.$PageTitle.'</i> has been created successfully.'; 
     echo json_encode($return); 
} 
else 
{ 
    mysqli_query("UPDATE Web_Pages SET Title = '".$PageTitle."', HTML = '".$PageContent."', Category = '".$PageCategory."', Last_Author='LUX', Edit_Date = '".date("Y-m-d")."', Published = '".$PagePublished."') WHERE ID = '".$PageID."' "); 

     $return['error'] = false; 
     $return['msg'] = '<i>'.$PageTitle.'</i> has been updated successfully.'; 
     echo json_encode($return); 
} 

paste-bin link to the source code

+0

請不要使用'mysql_'函數,因爲它們不再被維護並且正在被棄用。 Google,PDO或Mysqli代替 – samayo 2013-03-03 01:03:17

+0

@PHPNooB,感謝您的提示,稍後我會對它進行一些研究! – LUX 2013-03-03 01:07:47

+0

將更新sql命令複製到phpmyadmin中,放入實際值,並查看它是否可以在那裏使用。 – michi 2013-03-03 01:13:35

回答

2

您在UPDATE查詢的末尾附近有一個),該查詢不應該存在,很可能是您忘記編輯的複製/粘貼/編輯的結果。

+1

@kloink,謝謝我確實錯過了!,但是這並不能解決值的問題。 – LUX 2013-03-03 01:06:32

0

我厭倦了這個錯誤!

data: 'formData', 

這將現在被視爲字符串而不是一個變量

我猜你應該做這樣的事情

data : {'formdata' : formData} 

從PHP你可以得到數據

$_POST['formdata']; 
+1

我很抱歉爆你的泡沫...但這也不管用,只是試過 – LUX 2013-03-03 02:43:56

+0

如果這沒有解決你的問題..!那麼你有一些其他問題.. cuz顯然你從一開始就做錯了所有的事情..使用print_r($ _ POST),並向我們展示出來..並嘗試從'$ _POST [ 'formdata'] ['PageTitle']' – 2013-03-03 02:47:12

+0

所有的輸出與該代碼是「E」無論我輸入它只是返回「E」 – LUX 2013-03-03 03:09:03