итак, к делу. есть мини-форма (потом она будет намного больше): один checkbox и submit.
на самом деле это будет страница настроек. пользователь должен поставить галочку, если хочет получать уведомления на email. хотелось бы, чтобы эти настройки сохранились в бд. если выделить checkbox и нажать submit то результат заносится в бд (там появляется циферка 1), а если не выделять checkbox то результат никак не обновляется.. как достичь желаемого - ума не приложу... может вы подскажете?
вот мой скромный код:
<?php
if (count($_POST)>0):
if ($pci_attendance == "on") {
$pci_attendance = 1;
$query = mysql_query("UPDATE setting SET pci_attendance='".$pci_attendance."'");
} else {
$pci_attendance = "0";
$query = mysql_query("UPDATE setting SET pci_attendance='".$pci_attendance."'");
}
endif;
print " <a href=index.php>На главную</a><br>
<form action=setting.php method=post>
<input type=checkbox name=pci_attendance ".$checked."> Печатать комментарии в \"Посещаемости\"<br>
<input type=submit value=Сохранить>
</form>";
?>
Спустя 13 минут (2.03.2010 - 21:40) MatrixGod написал(а):
<html>
<form action="index.php" method="post">
<input type="checkbox" name="email" value="1">
<input type="submit">
</form>
</html>
<?
if($_POST[email] == 1)
{
mysql_query(" la la la ");
}
?>
Спустя 1 час, 42 минуты, 55 секунд (2.03.2010 - 23:23) ApuktaChehov написал(а):
Насколько я знаю, в PHP, если галочку не ставить, то переменная от чекбокса вообще не создается.
По этому, думаю, что достаточно проверить ее на существование.
P.S. В JS, как раз такое дело возвращает либо on либо off, в свое время постоянно путал, где и что возвращается
По этому, думаю, что достаточно проверить ее на существование.
P.S. В JS, как раз такое дело возвращает либо on либо off, в свое время постоянно путал, где и что возвращается

Спустя 14 часов, 29 минут, 57 секунд (3.03.2010 - 13:52) pultter написал(а):
ApuktaChehov, вот так не работает:
работает только без if (count($_POST)) а это не всегда хорошо..
<html>
<form action="testing.php" method="post">
<input type="checkbox" name="email" value="1">
<input type="submit">
</form>
</html>
<? Error_Reporting(E_ALL & ~E_NOTICE);
if (count($_POST['email'])>0):
if (!isset($email)) {
print "не выделен!";
} else {
print "выделен";
}
endif;
?>
работает только без if (count($_POST)) а это не всегда хорошо..
Спустя 2 дня, 9 часов, 45 минут, 31 секунда (5.03.2010 - 23:38) pultter написал(а):
без if (count($_POST)>0) ничего не сохраняется... точнее сохраняется, но при каждой загрузке перезаписывается... так можно решить эту проблему как то или нет? подскажите если не трудно
Спустя 2 дня, 23 часа, 1 минута, 24 секунды (8.03.2010 - 22:39) ZeNkoT написал(а):
<input type="checkbox" name="email" value="1">
Если поле checkbox активно, то оно возвращает значение on, иначе ничего.
Спустя 4 минуты, 17 секунд (8.03.2010 - 22:44) ZeNkoT написал(а):
<html>
<form action="ex.php" method="post">
<input type="checkbox" name="email" checked="checked">
<input type="submit" name="ok">
</form>
</html>
<?php
// Если пришли данные с формы
if(isset($_POST['ok'])) {
if($_POST['email'] == 'on')
echo '<h4>Activ</h4>';
else
echo '<h4>Not checked</h4>';
}
?>
Спустя 1 час, 6 минут, 51 секунда (8.03.2010 - 23:51) HeXoN написал(а):
Эм.... я нуб но я проверяю чекбоксы таким способом
и всё работает не спорю мой код может и дырявый и корявый но пока что ничего другого не придумал просьба сильно не пинать.
логично проверка после отсылки данных
и всё работает не спорю мой код может и дырявый и корявый но пока что ничего другого не придумал просьба сильно не пинать.
логично проверка после отсылки данных
<input name="email" type="checkbox" value="tut kakajnit velichina">
//$ch_cnotrol переменная с названием (name) checkbox для примера стоит email (хотя можетбыть и другая надпись)
$ch_cnotrol = "email";
// елементу $ch_cnotrol массива $_POST то присвоить если нечего присваивать то не создают такого элементаы
if($_POST[$ch_cnotrol]>0)
{
// заносим данные из checkbox в переменную
$checbox = $_POST[$ch_cnotrol] ;
}
Спустя 11 часов, 12 минут, 28 секунд (9.03.2010 - 11:03) pultter написал(а):
ZeNkoT, премного благодарен!!!
Спустя 1 год, 1 месяц, 6 дней, 13 часов, 54 минуты (15.04.2011 - 23:57) idadmin написал(а):
Цитата (ZeNkoT @ 8.03.2010 - 19:44) |
<html> |
А если несколько чекбоксов?
То придется создавать условие для каждой новой переменной? Или как? :wacko:
_____________
Напишу индусский код. Бесплатно