Как подставить в checked yes

Тема в разделе "PHP", создана пользователем dmx, 5 фев 2012.

Модераторы: latteo
  1. dmx

    dmx

    Регистр.:
    22 июн 2011
    Сообщения:
    663
    Симпатии:
    527
    Парни подскажите - мне чтоб после обновления страницы данные оставались на месте:
    Допустим :
    Код:
    <input type="text" name="a" value="<?php echo $a; ?>
    Ну это просто . А как быть с checked ?
    Чтоб подставить yes
    Код:
    <td><input name="c" value="yes" type="radio">Да
    <input name="c" value="no" type="radio" checked>Нет</td>
     
  2. BaziliX

    BaziliX Постоялец

    Регистр.:
    2 авг 2007
    Сообщения:
    85
    Симпатии:
    12
    PHP:
    <td><input name="c" value="yes" type="radio" <?php if ($c=="yes") echo 'checked'?>>Да
    <input name="c" value="no" type="radio" <?php if ($c=="no") echo 'checked'?>>Нет</td>
    Если я правильно понял задачу.
     
    dmx нравится это.
  3. dmx

    dmx

    Регистр.:
    22 июн 2011
    Сообщения:
    663
    Симпатии:
    527
    А по умолчанию чекед на НЕТ возможно тут подставить ?
     
  4. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    объяви предварительно:
    PHP:
    if($_POST['c']!="yes" or !$_POST['c']){$c=="no";} // ну или if($_GET['c']!="yes" or !$_GET['c']){$c=="no";} в случае если форма отправляет данные посредством  get запроса
     
     
    dmx нравится это.
  5. dmx

    dmx

    Регистр.:
    22 июн 2011
    Сообщения:
    663
    Симпатии:
    527
    Код:
    <td><input name="c" value="yes" type="radio" <?php if ($c=="yes") echo 'checked'; ?>>Да
    <input name="c" value="no" type="radio" <?php if ($c=="no") echo 'checked'; ?>>Нет</td>
    Так получаются изначально оба пустые. А мне надо чтоб по умолчанию было НЕТ.
    Подскажите, как мне это прикрутить :
    Код:
    if($_POST['c']!="yes" or !$_POST['c']){$c=="no";}
     
  6. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    ну я же говорю ПРЕДВАРИТЕЛЬНО, то есть до вывода
    Код:
    <td><input name="c" value="yes" type="radio" <?php if ($c=="yes") echo 'checked'; ?>>Да
    <input name="c" value="no" type="radio" <?php if ($c=="no") echo 'checked'; ?>>Нет</td>
     
    dmx нравится это.
  7. yasi

    yasi Создатель

    Регистр.:
    23 июл 2007
    Сообщения:
    32
    Симпатии:
    29
    Код:
    <input name="c" value="yes" type="radio">Да
    <input name="c" value="no" type="radio" checked>Нет</td>
    Так что ли?)
    Так всегда по умолчанию будет "нет".

    Или, если "данные на месте" = "Данные, введенные юзером", то самый простой вариант такой:
    PHP:
    <?
    if(
    $_POST['c']=="yes"){ 
    echo
    '<input name="c" value="yes" type="radio" checked>Да
    <input name="c" value="no" type="radio">Нет</td>'

    }else{
    echo
    '<input name="c" value="yes" type="radio">Да
    <input name="c" value="no" type="radio" checked>Нет</td>'

    }
    ?>
    Если выбрано Да, то будет Да. Если ничего не выбрано или выбрано нет, то будет нет.
     
    dmx нравится это.
  8. Arqin

    Arqin

    Регистр.:
    17 мар 2009
    Сообщения:
    185
    Симпатии:
    37
    Чтобы избежать нежелательных нотисов и прочего советую делать условие таким:
    PHP:
    if(isset($_POST['c']) && $_POST['c'] =="yes")
    а лучше, кмк, так:
    PHP:
    $c_field = (isset($_POST['c'] && $_POST['c'] =="yes")?$_POST['c']:'';
    if(
    $c_field)
    также можно учесть методы отправки и обратиться к $_REQUEST вместо $_POST.
     
    dmx нравится это.