2012-05-28 43 views
1

我使用這個週期打印所有形式的$ _ POST數據按鈕值:

foreach($_POST as $name => $value) { 
print "$name : $value<br>"; 
} 

而在結果到底是提交按鈕值(提交:編輯)和這對我造成錯誤,因爲在這個foreac循環中,我將數據添加到excel文檔$name is cell, $value is cell value,所以如何從列表中刪除按鈕值?

+1

'if($ name =='submit'){continue; }' – JJJ

回答

4

只是continue;

foreach($_POST as $name => $value) { 
    if($name == "submit") continue; 
    print "$name : $value<br>"; 
} 
6

你可以,你做你的foreach正好被清除之前:

unset($_POST['submit']); 
4

您的提交按鈕並不需要在你的HTML一個name屬性。如果它沒有名稱,它將不會出現在POST數據中。

2

什麼

foreach($_POST as $name => $value) { 
    if($name != "submit"){ 
     print "$name : $value<br>"; 
    } 
} 
2

你在做什麼不是好的做法跳過它。在這種情況下,將數據傳遞到Excel電子表格中,您不太可能遇到問題,但這是一個危險的習慣。

您已經設計了您的表單併爲每個輸入指定了名稱,因此您知道$ _POST數組將提前包含哪些索引。您應該只顯式引用$ _POST數組中的那些值,並根據需要驗證每個值。

不要忘記$ _POST來自用戶,因此不值得信任。額外的字段可以添加到$ _POST數組中,並且,現在您的代碼將會愉快地處理它們。

這可能是也可能不是你的代碼中的問題,但你至少應該考慮一下。