2011-09-14 64 views
0

我想要使用php和ajax編碼錯誤回調。

我不能讓過去的,我assinging一個變量在PHP $_POST檢查空值。如果爲空,則觸發錯誤消息。

然而,jQuery是傳球后到PHP作爲carton%5B0%5D:carton%5B1%5D:

請問php看到這是一個空的帖子?紙箱後這些數字是什麼?紙箱實際上是一個數組。感謝

+++ UPDATE +++

當語句變爲!空而不是空洞爲什麼被觸發的錯誤? 這是jquery用於從滑塊更改事件創建輸入的代碼。

for(var i = 0;i < $(this).val();i++) { 
     $("#carton").append('<div data-role="fieldcontain"><label for="carton" class="ui-input-text">Enter box ' + (i + 1) + ' number:</label><input type="text" name="carton['+i+']" id="carton['+i+']" class="carton ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" /></div>') 
     } 
+2

'的var_dump添加更多的POST字段修改($ _POST)'它有什麼? – cspray

+0

'%5B1%5D'是URL編碼'[1]'' – Joe

+0

%5B'是'['和'%5D'是']'這樣做 –

回答

1

知道whetever $ _POST爲空總是用var_dump函數這樣

var_dump($_POST); 

,它可能發佈爲陣,我不太清楚,但我覺得在阿賈克斯數組是這樣的:

array [ 
[0] => 'item', 
[1] => 'item 2' 
] 

陣列(2){[0] =>串(0) 「」[1] =>串(0) 「」}

陣列(數)指項目的陣列中的數,{[ 0],[1]}表示數組項ID意味着您可以像使用它們一樣使用它們_POST [1]和$ _POST [0],=> string(0);字符串是此數組項中包含的數據類型,(0)是該項中的字符數。

檢查POST數據是否爲空或沒有,你應該使用空()函數。

最後,用它來發布你通過jQuery想要的內容,請確保您所需要

$.post("test.php", { carton: "this is the content"}); 

什麼,你也可以通過添加

, newfield: "this is the new field's content" 
+0

safad。在柱做的var_dump,它產生這樣的:陣列(2){ [0] => 串(0) 「」 [1] => 串(0) 「」 } – bollo

+0

這意味着你要發送兩個「無名」變量,它們都是空的,我會更新我的答案來解釋的var_dump輸出是如何可讀不久 – SAFAD

+0

薩法德,我使用的檢查空條件:ELSEIF(空($紙箱)){ //設置響應 $ response_array [ '狀態'] = '錯誤'; $ response_array [ '消息'] = '您必須輸入retrieveal紙箱'; //如果沒有錯誤 }這是爲什麼不觸發錯誤時的值是空的?那是我的帖子的一點是我張貼的人物張貼與發佈的數據到PHP?謝謝 – bollo

1

如果您要發送POST數據,則不會,$_POST不會爲空。

+0

所以如何檢查這些值在PHP?謝謝 – bollo

+0

@bollo,檢查什麼值? – Brad

+0

我是否正確地說isset代表包含數據的$ _POST,而!isset $ _POST不包含數據?在你的回答中你說過:$ _POST不會是空的那麼我該如何檢查這些編碼字符。謝謝 – bollo

相關問題