Помогите c checkbox в PHP
-
Подскажите как сделать, чтобы в настройках профайла, человек мог включать и отключать оповещения на емейл и это значение передавалось в БД таблицу users и в id человека, передавалось значение 1 или 0 в ячейку email_on . По умолчанию 0, оповещения отключены...
Вот форма по умолчанию:
<form method="post" action=""> <input type="checkbox" name="email" value="true" > Оповещать на email <p><input type="submit" value="Сохранить"></p> </form>
При сохранении форма должна отправить в БД значение 1 и стать такой:
<form method="post" action=""> <input type="checkbox" name="email" value="true" checked> Оповещать на email <p><input type="submit" value="Сохранить"></p> </form>
При нажатии сохранить форма должна отправить значение 0 и галочка убраться...
-
Если галочка не стоит, то никакие данные не передаются.
-
Это понятно... она не сохраняется...
-
Проверяете на сервере если есть email, то "1".
-
Буду думать)
-
это значение передавалось в БД таблицу **users** и в **id** человека, передавалось значение 1 или 0 в ячейку **email_on**
Я бы сделал вот так ( Вместо нуля будет двойка :):
<b>Оповещать на email?</b><br> <form method='post' action=''> <input type='radio' name='email' value='1' checked > Да <input type='radio' name='email' value='2' > Нет <p><input type='submit' value='Сохранить'></p> </form>
<?php if (($_POST['email'] == 2) or ($_POST['email'] == 1)) { $email = $_POST['email']; mysql_query(" UPDATE users SET email_on = '$email' WHERE id = '$iduser'",$db); } $referer = $_SERVER['HTTP_REFERER']; header("Location:$referer"); exit(); ?>
По умолчанию нужно ставить в phpmyadmin, когда создаёшь строку, если не ошибаюсь.
И
<?php $emailsql = mysql_query("SELECT email_on FROM users WHERE id = $iduser", $db); $email = mysql_fetch_array($emailsql); if($email['email_on'] == 2) { echo(" <b>Оповещать на email?</b><br> <form method='post' action=''> <input type='radio' name='email' value='1' > Да <input type='radio' name='email' value='2' checked > Нет <p><input type='submit' value='Сохранить'></p> </form>"); } else { echo("<b>Оповещать на email?</b><br> <form method='post' action=''> <input type='radio' name='email' value='1' checked > Да <input type='radio' name='email' value='0' > Нет <p><input type='submit' value='Сохранить'></p> </form>"); } ?>
Не проверял, возможны ошибки. C checkbox такое же. Как и говорил Telonko ^^.
-
Та мне именно галочка нужна... но этот вариант тоже будет нужен....
С галочкой не совсем ещё разобрался, руки не доходят...
Получилось сделать, если в бд ставишь еденицу, то появляется галочка, ставишь ноль пропадает... ещё сделал что при нажатии кнопки через это echo выводжилось 1 или 0, то есть проверку на то, стоит галочка или нет.... осталось в БД этот результат записывать....
-
Проверяете на сервере если есть email, то "1".```
<?
$notice = (isset($_POST['email'])) ? '1' : '0';<form method="post" action="">
<input type="checkbox" name="email"<?=($row['notice']=='1') ? ' checked="checked"': ''?>/> Оповещать на email
<p><input type="submit" value="Сохранить"></p>
</form>Название массивов соответственно поменяйте.
-
а как тож самое сделать на файле?