Hi想要建立一个创建调查的程序。我不知道如何为一个没有答案的问题赋值。谢谢你的帮助。
$dizi = array();
foreach ( $_POST as $key => $value){
if(empty($_POST)){
$_POST="bos";
}
$dizi[$key] = "'".$value."'";
}
您的代码没有意义,请尝试以下操作:
$dizi = array();
foreach($_POST as $key => $value) {
if (empty($value)) {
$value = 'your value';
}
$dizi[$key] = $value;
}
$bla = $_POST['bla'];
您要做的是将整个数组设置为无效的字符串。您应该在将新值保存到$dizi数组时设置它。
$dizi = array();
foreach($_POST as $key => $value) {
$newValue = $value;
if (empty($value)) {
$newValue = 'bos';
}
$dizi[$key] = $newValue;
unset($newValue);
}
但这只检查答案字符串是否为空。因此,只有当所有问题都是强制性的时,这才有效。
如果我正确理解你,你想做的是:
foreach ( $_POST as $key => $value ) {
if(empty($value))
$_POST[$key] = 'This is an unanswered question!';
}
但由于表单中没有发布空值,因此这是不可行的。
如果问题不是从表单中发布的,您如何知道存在"未回答"的问题?您必须从问题列表(用户不能伪造,并且在服务器端定义)开始,检查$_POST中是否存在每个问题的答案。如果没有,请为跳过的答案指定您想要的内容。
试试这个:
if(isset($_POST) && (!empty($_POST))){
foreach ( $_POST as $key => $value ) {
if(empty($value)){
$_POST="bos";
} else{
//put your code
}
}
}