|
|
|
| каким образом работает checkbox с переменными? Не могу сообразить. Ни как флаг не устанавливается в зависимости от значения переменной $albom.
Т.е. есть форма в которой присутствует checkbox и выставляется значение из переменной $albom.
<input type="checkbox" name="albom" value="$albom">фотоальбом
|
необходимо из checkbox забрать значение после нажатия кнопки из $_POST[albom]. | |
|
|
|
|
|
|
|
для: alex boxgorn
(14.06.2008 в 20:14)
| | Ничего не понятно, вы о чем? Если вы получаете не то значение, которое определено РНР-перменной $albom, то значит вы не верно выводите checkbox в браузер. Нужно:
<?php
//либо
echo "<input type=\"checkbox\" name=\"albom\" value=\"$albom\">";
?>
//любо
<input type="checkbox" name="albom" value="<?php =$albom; ?>">
|
А получить, при отмеченном checkbox, его значание, какие могут быть проблемы? | |
|
|
|
|
|
|
|
для: sim5
(14.06.2008 в 20:22)
| | В том то и дело, что ничего не выходит. А от checkbox мы получаем 0 или 1? или fales или true?
Почему-то галочка не выводится при $albom=1.
Значит value не достаточно, чтобы в форме по умолчанию флаг поднять если $albom=1 ? | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(14.06.2008 в 20:35)
| |
<form action="" method="post">
<input type="checkbox" name="as1" value="1"><br>
<input type="checkbox" name="as2" value=""><br>
<input type="checkbox" name="as3"><br>
<input type="submit" value="Send">
</form>
<?
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
//это то, что получим при отмеченных:
Array
(
[as1] => 1
[as2] =>
[as3] => on
)
|
Вы уверены, что ваша $albom равна чему-то?
PS. Почему-то галочка не выводится при $albom=1. Вы просмотрите HTML код формы своей, сдается, что у вас в ней бардак. | |
|
|
|
|
|
|
|
для: sim5
(15.06.2008 в 04:10)
| | Я попробовал ваш пример протестировать. Все равно все флаги сброшены. Т.е. галочка не стоит в первом checkbox-е (as1), хотя value=1. | |
|
|
|
|
|
|
|
для: alex boxgorn
(15.06.2008 в 07:46)
| | У вас что, эксклюзивная сборка браузер+РНР? Покажите ваш РНР-код, которым вы отдаете форму в браузер, или результирующий HTML-код формы. | |
|
|
|
|
|
|
|
для: sim5
(15.06.2008 в 07:51)
| | сипользовал вот это в файл rr.php
<form action="" method="post">
<input type="checkbox" name="as1" value="1"><br>
<input type="checkbox" name="as2" value=""><br>
<input type="checkbox" name="as3"><br>
<input type="submit" value="Send">
</form>
<?
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
//это то, что получим при отмеченных:
Array
(
[as1] => 1
[as2] =>
[as3] => on
)
|
Получил HTML код
<form action="" method="post">
<input type="checkbox" name="as1" value="1"><br>
<input type="checkbox" name="as2" value=""><br>
<input type="checkbox" name="as3"><br>
<input type="submit" value="Send">
</form>
<pre>Array
(
)
</pre>
//это то, что получим при отмеченных:
Array
(
[as1] => 1
[as2] =>
[as3] => on
)
|
Проверял этот код на нормальном хостинге АГАВА | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(15.06.2008 в 08:18)
| | Значит так. Галочек РНР вообще никаких не видит, он видит только переданные переменные и их значения. Увидит он их только в том случае, если чекбокс будет выбран. Выбор не зависит от РНР, то есть то, что вы говорите постоянно - "не видно галочки", означет, что вы не верно трактуете свою проблему. У вас просто не принимаются данные переданные методом POST.
Выполните это, отметив чекбокс:
<form action="" method="post">
<input type="checkbox" name="as1" onclick="alert(this.value)" value="1">
<input type="submit" value="Send">
</form>
<?
echo "<pre>";
print_r(get_defined_vars());
echo "</pre>";
?>
|
Просмотрите полученный массив - будет у вас в этом массиве, массив с переменной as1, и где он будет находиться? При выборе чекбокса, у вас появиться окно, показывающее значение этого чекбоска, для того чтобы вы убедились, что он выбран. | |
|
|
|
|
|
|
|
для: alex boxgorn
(15.06.2008 в 07:46)
| | Хе-хе...
Состояние чекбокса от содержимого VALUE никак НЕ ЗАВИСИТ.
Чтобы чекбокс был помеченным, вам надо прописать в нем атрибут CHECKED. | |
|
|
|
|
|
|
|
для: PAT
(15.06.2008 в 08:53)
| | Блин, так он не выбирает, а по умочанию хочет. А я думал что он галочку никак не установит. )) | |
|
|
|
|
|
|
|
для: sim5
(15.06.2008 в 09:10)
| | Галочки установить могу. Только по умолчанию они не устанавливаются. Приходится делать вот так:
if($fotonastroy == 0){
$main .= "<td> <input type=\"checkbox\" name=\"fotonastroy\" value=\"0\">включить";
}else{$main .= "<td> <input type=\"checkbox\" name=\"fotonastroy\" checked value=\"1\">включить";}
$main .= "</td></tr>";
|
В этом случае все галочки выставляются в зависимости от значения $fotonastroy но вот дальше, при любой установке или снятии галочки, все равно возвращается в $_POST[fotonastroy] ноль.
Причем вот такая фиговина работает отменно:
if($a_hiden == 0){
$main .= "<input type=\"radio\" name=\"hiden\" checked value=\"0\">Отображать<input type=\"radio\" name=\"hiden\" value=\"1\">Скрыть";
}else{$main .= "<input type=\"radio\" name=\"hiden\" value=\"0\">Отображать<input type=\"radio\" name=\"hiden\" checked value=\"1\">Скрыть";}
|
Как же пользоваться checkbox если такие проблемы наворачиваются? | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(15.06.2008 в 09:55)
| | Никаких проблем с чекбоксами НИ У КОГО, кроме вас, НИКОГДА НЕ БЫЛО и НЕТ.
Опишите свои "непонятки" РУССКИМИ СЛОВАМИ/ПРЕДЛОЖЕНИЯМИ.
Например, так:
Хочу, чтобы пользователь на странице увидел два (три, четыре...) чекбокса.
И чтобы у одного из них СРАЗУ была видна галочка (или - наоборот, чтобы не было никаких галочек).
Если пользователь по чекбоксам кликать не будет ВОВСЕ, то хочу при сабмите формы поиметь в потоке вывода - ТО-ТО, а вот если кликнет - то ДРУГОЕ...
И т.д....
Напишите, покажите соседу-алкоголику. Если тот поймет СУТЬ того, что вам надо, тогда постите этот вопрос здесь.
А если сосед не поймет, то перепишите ТАК, чтобы даже он понял.
А ваши многочисленные коды с идиотскими слешами от PHP ничего здесь никому не поясняют и пояснить не могут. | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(15.06.2008 в 09:55)
| |
<?
$main .= "<td> <input type=\"checkbox\" name=\"fotonastroy\"
value=\"$fotonastroy\">" . $sel = $fotonastroy ? "показать" : "скрыть";
//выведет чекбокс с необходимым значением и подписью, не надо никакого else
|
| |
|
|
|
|
|
|
|
для: alex boxgorn
(14.06.2008 в 20:14)
| | По моему тут всё элементарно просто. И выдумывать ничего не надо.
Во-первых, тебе надо установить значение чекбокса по умолчанию в зависимости от переменной $albom. Это делается так:
<input type="checkbox" name="albom" <?= ($albom==1)?"checked":"" ?>>
|
Если потребуются пояснения то скажи, поясню.
Второе. Тебе надо забрать значение переменной из массива $_POST[] на стороне сервера. Дело в том что если галочка на станице установлена, то соответствующий элемент массива будет создан, в противном случае нет. Следовательно код такой:
<?
if (isset($_POST["albom"]))
{ // Галочка стоит, выполняем нужные действия
}
else
{ // В противном случае нет :)
}
?>
|
Вот вроде так. Попробуй. Должно получиться. Мог где-то ошибиться в синтаксисе, но принцип такой. | |
|
|
|
|
|
|
|
для: KingLion
(15.06.2008 в 10:51)
| | Огромное спасибо тебе KingLion !!!
Выручил дружище!!!
Все заработало!! Я же не глупый - все понимаю, когда просто и понятно обьясняют.
:-)
Теперь буду знать как с checkbox-ами правильно работать!! | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(15.06.2008 в 13:22)
| | Проверку нужно делать у всех полей формы, а не только чекбоксов, так что, это не есть работа с чекбосами. Вы бы раньше толком объяснили что ваш чекбокс должен быть выбран по умолчанию, а то шатны, шатаны... | |
|
|
|
|
|
|
|
для: sim5
(15.06.2008 в 13:48)
| | Не серчай sim5. :-) Как мог объяснил. Не думал, что непонятно будет. Всем огромное спасибо!!! | |
|
|
|
|
|
|
|
для: Alex Boxgorn
(15.06.2008 в 15:05)
| | Да мне то собственно все равно, вам ведь нужно, а не мне. Поэтому вам надо объяснять, а не остальным догадываться. | |
|
|
|