Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Выбор радиокнопки

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Jilling
Отправлено: 02 Февраля, 2012 - 11:40:34
Post Id



Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Апр. 2011  
Откуда: Луганск, Украина


Помог: 0 раз(а)




собственно есть форма в которую вносятся или измененные данные или данные из базы.
Вопрос: как выбрать определенную радиокнопку для юзера или админа?
CODE (htmlphp):
скопировать код в буфер обмена
  1. <form method="post">
  2. login: <input type="text" name="login" value="<?php if(isset($_POST['login'])) {echo ($_POST['login']);}else{echo ($r['login']);}?>"/><br/>
  3. new password: <input type="password" name="pwd"/><br/>
  4. email: <input type="text" name="mail" value="<?php if(isset($_POST['mail'])) {echo ($_POST['mail']);}else{echo ($r['mail']);}?>"/> <br/>
  5. first name: <input type="text" name="first_name" value="<?php if(isset($_POST['first_name'])) {echo ($_POST['first_name']);}else{echo ($r['first_name']);}?>"/><br/>
  6. last name: <input type="text" name="last_name" value="<?php if(isset($_POST['last_name'])) {echo ($_POST['last_name']);}else{echo ($r['last_name']);}?>"/><br/>
  7. privilege: User <input type="radio" checked="<?php if((isset($_POST['privilege']) and ($_POST['privilege'] == 0)) OR ($r['privilege'] == 0)){echo "checked";}?>" name="privilege" value="0"> Admin <input type="radio" name="privilege" value="1" checked="<?php if((isset($_POST['privilege']) and ($_POST['privilege'] == 1)) OR ($r['privilege'] == 0)){echo "checked";}?>"><br/>
  8. <input type="submit" name="edit" value="Изменить"/>
  9. <input type="submit" name="del" value="Удалить"/>
  10. </form>
 
 Top
Zuldek
Отправлено: 02 Февраля, 2012 - 12:06:51
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Вы это и делаете. Ставите checked для той кнопки, которой соответствует выбранное значение 0 или 1.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php if((isset($_POST['privilege']) and ($_POST['privilege'] == 0))
  2. OR ($r['privilege'] == 0))...
  3.  
  4. <input type="radio" name="privilege" value="1" checked="<?php if((isset($_POST['privilege']) and ($_POST['privilege'] == 1)) ...
  5. OR ($r['privilege'] == 0))

только во для второй кнопки, вероятно должно быть OR ($r['privilege'] == 1)) а не OR ($r['privilege'] == 0))

(Отредактировано автором: 02 Февраля, 2012 - 12:07:34)

 
 Top
Jilling
Отправлено: 02 Февраля, 2012 - 12:31:30
Post Id



Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Апр. 2011  
Откуда: Луганск, Украина


Помог: 0 раз(а)




странно, но выбранным все время становится поле 'admin'
 
 Top
Zuldek
Отправлено: 02 Февраля, 2012 - 12:47:07
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




выведите все параметры из поста или бд в браузер сразу после формы и станет понятно почему.
 
 Top
Jilling
Отправлено: 02 Февраля, 2012 - 12:56:16
Post Id



Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Апр. 2011  
Откуда: Луганск, Украина


Помог: 0 раз(а)




поле privilege из БД выводится корректно(0 или 1). но вот почему не ставится в radio.... ведь ветвление составлено логически правильно.
(Добавление)
проблему решил, убрав checked="", но оставил логику пхп.

вот рабочий скрипт:
CODE (htmlphp):
скопировать код в буфер обмена
  1. privilege:  User <input type="radio" <?php if((isset($_POST['privilege']) and ($_POST['privilege'] == 0)) OR ($r['privilege'] == 0)){echo "checked";}?> name="privilege" value="0"> Admin <input type="radio" name="privilege" value="1" <?php if((isset($_POST['privilege']) and ($_POST['privilege'] == 1)) OR ($r['privilege'] == 1)){echo "checked";}?>><br/>
  2.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB