есть к примеру такая форма <form method="post" action="edit.php"> <input name="rut[]" value="1" type="checkbox" /> 1<br> <input name="rut[]" value="2" type="checkbox" /> 2<br> <input name="rut[]" value="3" type="checkbox" /> 3<br> <input name="rut[]" value="4" type="checkbox" /> 4<br> </form> Подскажите как в edit.php занести эти чейбоксы в переменную? если делаешь как обычную переменную if (isset($_POST['rut'])) { $rut = $_POST['rut'];} echo "$rut"; - то выдает Array я читал что нужно использовать serialize и unserialize, объясните пожалуйста как работать с этими массивами?
сделал как мог... понимаю что тупо и не правильно, но форма <form method="post" action="edit.php"> <input name="rut[]" value="Один" type="checkbox" /> 1<br> <input name="rut[]" value="Два" type="checkbox" /> 2<br> <input name="rut[]" value="Три" type="checkbox" /> 3<br> <input name="rut[]" value="Четыре" type="checkbox" /> 4<br> </form> обработчик if (isset($_POST['rut'])) { $rut = $_POST['rut'];} $string = serialize( $rut ); выводит такоую строку a:4:{i:0;s:4:"Один";i:1;s:3:"Два";i:2;s:3:"Три";i:3;s:6:"Четыре";} черти ШО и збоку бантик но ... главное результат а теперь вообще круто, там где нужно вытащить или проверить какое есть значение $result_rut = mysql_query("SELECT * FROM anketa WHERE rut LIKE '%Один%'",$db); $myrow_rut=mysql_fetch_array($result_rut); $result_rut = mysql_query("SELECT * FROM anketa WHERE rut LIKE '%Два%'",$db); $myrow_rut=mysql_fetch_array($result_rut); и т.д. помоему полный бред!? подскажите что можно в этом всем исправить
$rut = $_POST['rut']; тут ты получаешь массив с выделенными чекбоксами. получить-то ты его получил, а делать что с ним надо?
Gromo, извените за глупый вопрос, но куда нужно прописывать $rut = $_POST['rut']; мне нужно отметить чейбоксы галочками, те который ранее были выбраны и занесены в базу... допустим $result_rut = mysql_query("SELECT rut FROM anketa WHERE rut LIKE '%Один%'",$db); $myrow_rut=mysql_fetch_array($result_rut); if ($myrow_rut[rut] == 'Один') {$rut_checked = 'CHECKED';} <input name="rut[]" value="Один" type="checkbox" <? echo $rut_checked; ?>/> 1<br> и т.д.
есть таблица в БД - языки. и есть страница админки, где галочками можно выбрать поддерживаемые языки. вот код формирования страницы PHP: <?php ... $locales = $db->select("SELECT * FROM dsc_locales ORDER BY description"); $content = '<form action="save.php" method="post"><table id="locales">'; $content .= '<tr>'; $content .= '<th style="width: 80px;">Code</th>'; $content .= '<th style="width: 180px;">Language</th>'; $content .= '<th>Enabled</th>'; $content .= '</tr>'; foreach($locales as $locale){ $content .= '<tr><td style="padding-left: 20px;">'.$locale['lang_id'].'</td>'; $content .= '<td style="padding-left: 40px;"><label>'.$locale['description'].'</label></td>'; $content .= '<td style="text-align: center;"><input type="checkbox" name="locales['.$locale['lang_id'].']"'; // если данный язык в базе выбран, ставим галочку if($locale['enabled']) $content .= ' checked="checked"'; $content .= '></td></tr>'; } $content .= '</table></form>'; ... ?> вот код сохранения выбраных языков из формы PHP: <?php ... // обнуляем все по умолчанию $db->query('UPDATE dsc_locales SET `enabled`=FALSE'); $query = "UPDATE dsc_locales SET `enabled`=TRUE WHERE `lang_id` IN (''"; // создаём список выделенных языков, которые нужно оставить включёнными foreach($_POST['locales'] as $lang_id=>$enabled){ $query .= ", '{$lang_id}'"; } $query .= ")"; $db->query($query); ... ?> в итоге - таблица языков с галочками для выбора. выбранные языки заносятся в базу (меняют поле enabled => True) при отображении таблицы языки с enabled=True будут выбраны