Привет, хочу создать программу, которая создает опросы. Я не мог понять, как я могу присвоить значение для вопроса, который остается без ответа. Спасибо за помощь.
$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; }
$ _POST – ассоциативный массив. Таким образом, вы можете получить к нему доступ:
$bla = $_POST['bla'];
То, что вы пытаетесь сделать, это установить весь массив на строку, которая не работает. Вы должны установить новое значение при сохранении его в массив $ dizi.
$dizi = array(); foreach($_POST as $key => $value) { $newValue = $value; if (empty($value)) { $newValue = 'bos'; } $dizi[$key] = $newValue; unset($newValue); }
с$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 } } }