您好想建立一個創建調查的程序。我無法弄清楚如何爲未解答的問題分配價值。感謝您的幫助。
$dizi = array();
foreach ($_POST as $key => $value){
if(empty($_POST)){
$_POST="bos";
}
$dizi[$key] = "'".$value."'";
}
您好想建立一個創建調查的程序。我無法弄清楚如何爲未解答的問題分配價值。感謝您的幫助。
$dizi = array();
foreach ($_POST as $key => $value){
if(empty($_POST)){
$_POST="bos";
}
$dizi[$key] = "'".$value."'";
}
如果我理解正確的,你,你正在嘗試做的是這樣的:
foreach ($_POST as $key => $value) {
if(empty($value))
$_POST[$key] = 'This is an unanswered question!';
}
但這不能因爲一個事實,即空值就不從形式投遞工作。
你怎麼知道如果沒有從表單中發佈「未回答」的問題? 您必須從問題列表(不能由用戶僞造並在服務器端定義)開始,並檢查每個問題的答案是否存在於$ _POST中。如果沒有 - 將您想要的內容分配給跳過的答案。
您的代碼是沒有意義的,試試這個:
$dizi = array();
foreach($_POST as $key => $value) {
if (empty($value)) {
$value = 'your value';
}
$dizi[$key] = $value;
}
$ _ POST是associative array 這樣你就可以訪問它:
$bla = $_POST['bla'];
你所試圖做的是設置整個數組到一個不起作用的字符串。 您應該在將其保存到$ dizi數組時將其設置爲新值。
$dizi = array();
foreach($_POST as $key => $value) {
$newValue = $value;
if (empty($value)) {
$newValue = 'bos';
}
$dizi[$key] = $newValue;
unset($newValue);
}
但是這隻會檢查答案字符串是否爲空。所以這隻適用於所有問題都是強制性的。
試試這個:
if(isset($_POST) && (!empty($_POST))){
foreach ($_POST as $key => $value) {
if(empty($value)){
$_POST="bos";
} else{
//put your code
}
}
}
什麼是你想怎麼辦? – 2014-09-23 23:25:36
我已經在這裏回答類似的問題:http://stackoverflow.com/questions/16637523/how-to-make-sure-at-least-one-radio-button-is-selected-in-each-group- php/16638708#16638708 – shudder 2014-09-24 02:34:54
當用戶在數據庫創建表時,我不知道有多少個字段在那裏。所以我使用一個SQL查詢,如INSERT INTO testcevaplar VALUES('',$ ekle)[$ ekle = implode(',',$ dizi)]。如果任何調查參與者跳過任何問題,則sql查詢的值不會與表中的字段匹配。所以我想爲跳過的問題分配一個值。我不能檢查每個$ _POST,因爲我不知道有多少個問題。 – Artun 2014-09-24 09:16:59