Возможно, проблема может заключаться в разметке, которую вы написали для формы. Вот и пример:
<form action="checkbox-form.php" method="post">
Select your options<br />
<input type="checkbox" name="options[]" value="A" />A<br />
<input type="checkbox" name="options[]" value="B" />B<br />
<input type="checkbox" name="options[]" value="C" />C<br />
<input type="submit" name="formSubmit" value="Submit" />
</form>
Обратите внимание, что options
установлено как options[]
. Это позволяет массиву всех отмеченных опций появляться в вашей супер-переменной POST.
Если вы делаете:
var_dump($_POST['options']);
Затем вы должны получить массив, содержащий все проверенные значения.
Тогда вы можете сделать что-то вроде:
foreach($_POST['options'] as &$option){
mysql_real_escape_string($option);
}
Затем вставьте в базу данных:
$insert = "INSERT INTO submitted (statuses)
VALUES ('". implode(",", $_POST['options']) ."')";
$query = mysql_query($insert) or die ("Error: ".mysql_error());
Обновление:
На каждой странице формы у вас должно быть что-то вроде экранирования значений и сохранение его в сеансе. Затем сохраняются значения с каждой страницы в сеансе пользователя:
//Page 1
foreach($_POST['options'] as $option){
$_SESSION['options'][] = mysql_real_escape_string($option);
}
//page 2
$_SESSION['SOME_OTHER_VALUE_FROM_TEXT_BOX'] = mysql_real_escape_string($_POST['SOME_OTHER_VALUE_FROM_TEXT_BOX');
//Final page:
//Everything is now stored in SESSION, so you can use them there:
//For example, display the value of options:
var_dump($_SESSION['options']); //etc
//So here, you would just run your sql queries to insert the appropriate data into your databse.