checkbox + запись массовом в строку и в mysql эту строку

Тема закрыта
348
.
Всем привет, подскажите как через чекбокс записать данные в базу, т.е. если человек выбирает март или апрель, либо все, или другие месяца чтобы это все записывалось в массив и далее в БД как строка

echo'<input type="checkbox" name="sezonraboty" value="1"/>Январь<br />';
echo'<input type="checkbox" name="sezonraboty" value="2"/>Февраль<br />';
echo'<input type="checkbox" name="sezonraboty" value="3"/>Март<br />';
echo'<input type="checkbox" name="sezonraboty" value="4"/>Апрель<br />';
echo'<input type="checkbox" name="sezonraboty" value="5"/>Май<br />';
echo'<input type="checkbox" name="sezonraboty" value="6"/>Июнь<br />';
echo'<input type="checkbox" name="sezonraboty" value="7"/>Июль<br />';
echo'<input type="checkbox" name="sezonraboty" value="8"/>Август<br />';
echo'<input type="checkbox" name="sezonraboty" value="9"/>Сентябрь<br />';
echo'<input type="checkbox" name="sezonraboty" value="10"/>Октябрь<br />';
echo'<input type="checkbox" name="sezonraboty" value="11"/>Ноябрь<br />';
echo'<input type="checkbox" name="sezonraboty" value="12"/>Декабрь<br />';
.
Фильтрую так

$sezonraboty = mysql_real_escape_string(trim($_POST['sezonraboty']));


Я не программист, не пинайте сильно..
.
У меня записывается только последнее число...
.
# vfaste (25.02.2016 / 20:54)
У меня записывается только последнее число...
Разные имена надо давать атрибуту name

name="имя1"
name="имя2"
и т.д.

Или лучше сделать массив

name="имя[]"

А сейчас ты просто перезаписываешь одну и ту же переменную, потому и получаешь на выходе только одно значение.
.
ДоХтор, Забыл уточнить. У меня вся строка должна записаться в 1 ячейку sezonraboty
.
# vfaste (25.02.2016 / 20:53)
Фильтрую так

$sezonraboty = mysql_real_escape_string(trim($_POST['sezonraboty']));

Я не программист, не пинайте сильно..
И ещё - этого не достаточно.
$sezonraboty = mysql_real_escape_string(trim($_POST['sezonraboty']));

Функция mysql_real_escape_string() экранирует апострофы ( ' ) , не больше ни меньше, а trim() удаляет пробелы в начале и в конце строки, а так же (это зависит от наличия второго аргумента) не печатаемые символы. Ещё надо обязательно отфильтровывать пхп и хтмл-теги (если последние конечно не используются)
$sezonraboty = mysql_real_escape_string(trim(strip_tags($_POST['sezonraboty'] = '<b>Текст</b>')));
echo $sezonraboty;// Текст НЕ будет жирным.
.
Менделеев
делай массивом как дохтор прописал, name="имя[]"
foreach ($_POST['sezonraboty'] as $sez)
{
    $блабла=("update `таблица` set `поле` = '$sez' ");

}
.
# vfaste (25.02.2016 / 21:06)
ДоХтор, Забыл уточнить. У меня вся строка должна записаться в 1 ячейку sezonraboty
Массив для этого в самый раз.
.
Благодарю.
a:12:{s:2:"v1";i:1;s:2:"v2";i:2;s:2:"v3";i:3;s:2:"v4";i:4;s:2:"v5";i:5;s:2:"v6";i:6;s:2:"v7";i:7;s:2:"v8";i:8;s:2:"v9";i:9;s:3:"v10";i:0;s:3:"v11";i:0;s:3:"v12";i:0;}



a:12:{s:2:"v1";i:1;s:2:"v2";i:2;s:2:"v3";i:3;s:2:"v4";i:4;s:2:"v5";i:5;s:2:"v6";i:6;s:2:"v7";i:7;s:2:"v8";i:8;s:2:"v9";i:9;s:3:"v10";i:10;s:3:"v11";i:11;s:3:"v12";i:12;}


Различие в последних трех. Теперь подскажите как выводить из базы эту инфу? ну т.е."v12";i:12; Это у нас Декабрь если в первом коде он выглядет "v12";i:0; (тобишь выключено) значит у нас его нет.

как занести это все в If? типа
if("v12";i:1; == "v12";i:1;){ Выбран Декабрь}
.
# vfaste (25.02.2016 / 21:26)
Благодарю.
a:12:{s:2:"v1";i:1;s:2:"v2";i:2;s:2:"v3";i:3;s:2:"v4";i:4;s:2:"v5";i:5;s:2:"v6";i:6;s:2:"v7";i:7;s:2:"v8";i:8;s:2:"v9";i:9;s:3:"v10";i:0;s:3:"v11";i:0;s:3:"v12";i:0;}



a:12:{s:2:"v1"
Это же сериализованная строка - значит надо её привести к обычной (массив), а потом обрабатывать уже массив.
Всего: 13