2015-09-09 7 views
1

Следующий код является кодом, я использую:Получение значения проверяемого радио PHP

<form action="sendinfo.php" method="post" id="form"> 
       -Title:<br> 
       <input type="text" class="u-full-width" name="title" placeholder="Insert a title" > 
       <br>-Date<br> 
       <input class="u-full-width" type="text" name="date" placeholder="Click to add a date"><hr> 
       <br>-Buildyear:<br> 
       <input class="u-full-width" type="text" name="buildyear" placeholder="click to add buildyear"> 

       <br>-rebuild<br> 
       <input id="1" type="radio" name="rebuildyes" value="yes"><label for="1">tes</label> 
       <input id="2" type="radio" name="rebuildno" value="No"><label for="2">No</label><hr> 

       <input type="submit" value="send" class="u-full-width"> 
</form> 

Другой код:

<?php 
     //variables 
      $title = $_POST['title']; 
      $date = $_POST['date']; 
      $buildyear = $_POST['buildyear']; 
      $rebuildyes = $_POST['rebuildyes']; 
      $rebuildno = $_POST['rebuildno']; 

     //in browser 
      echo "<h1>The inserted data has been locally stored as " . $title . " " . $date . ".txt</h1>"; 
      echo "<p>click <a href='index.html'>Here</a> to return to the previous screen</p>"; 



     //write text file. 
      $file = fopen($title . " " . $date . ".txt","w"); 
      if ($date) fwrite($file, "Date: " . $date . "\r\n"); 
      fwrite($file, "\r\n"); 
      if ($buildyear) fwrite($file, "Buildyear: " . $buildyear . "\r\n"); 
      if ($rebuildyes) fwrite($file, "Rebuild? " . $rebuildyes . "\r\n"); 
      if ($rebuildno) fwrite($file, "Rebuild? " . $rebuildno . "\r\n"); 

    ?> 

Результат этого кода сгенерированный текстовый файл с данные заполняются в форме, указанной на первой странице. Проблема здесь в том, что я не могу заставить переключатели работать, по крайней мере, я не могу получить данные из них. Когда они пусты, они не должны записываться в файл, когда они будут выбраны, они должны быть.

Кроме того, пожалуйста, не говорите мне, что это опасный способ кодирования PHP, так как я знаю, что он дает пользователям возможность писать где бы ни был PHP, но этот «проект» будет доступен только для небольшого количества людей и на самом деле не будет размещаться на сервере. Говоря, если у вас есть лучший способ для меня построить этот проект, не рискуя, просто PHP мудрый, пожалуйста, скажите мне, так как я только начинаю кодирование PHP.

Благодаря

ответ

0

Сделать ваши радиокнопки группу:

<input id="1" type="radio" name="rebuild" value="yes"><label for="1">tes</label> 
<input id="2" type="radio" name="rebuild" value="no"><label for="2">No</label><hr> 

Затем проверить, если пользователь выбрал 'да' значение:

if (isset($_POST['rebuild']) && $_POST['rebuild'] == 'yes') { 
    // YOUR CODE 
} 
+0

Произошло следующее: if (isset ($ _ POST ['rebuild']) && $ _POST ['rebuild' ] == 'yes') { fwrite ($ file, "rebuild? yes \ r \ n"); } else { fwrite ($ file, "rebuild? No \ r \ n"); } Выход всегда нет. – mike

+0

Я тестировал его на PHPFiddle, похоже, работает: http://phpfiddle.org/main/code/b7r8-2hpt –

+0

Теперь вы можете сделать это с помощью тега else и вместо проверки значения добавить строку fwrite , посмотрите, работает ли это, не получится ли это работать самостоятельно. – mike

1
<input type="radio" name="rebuild" value="yes"><label>Yes</label> 
<input type="radio" name="rebuild" value="No"><label>No</label> 

and get the value using 

if(isset($_POST['submit'])){ 
    echo $rebuild = $_POST['rebuild']; 
    die; 
} 
+0

К сожалению, это одна не работает. Я получаю следующую ошибку: Примечание: Неопределенный индекс: перестроить в C: \ wamp \ www \ sendinfo.php в строке 16 – mike

1

Это код Я тестировал, файл написан правильно и значение для «rebuild» также верное:

<form action="sendinfo.php" method="post" id="form"> 
    -Title:<br> 
    <input type="text" class="u-full-width" name="title" placeholder="Insert a title" > 
    <br>-Date<br> 
    <input class="u-full-width" type="text" name="date" placeholder="Click to add a date"><hr> 
    <br>-Buildyear:<br> 
    <input class="u-full-width" type="text" name="buildyear" placeholder="click to add buildyear"> 

    <br>-rebuild<br> 
    <input id="1" type="radio" name="rebuild" value="yes"><label for="1">Yes</label> 
    <input id="2" type="radio" name="rebuild" value="no"><label for="2">No</label><hr> 

    <input type="submit" value="send" class="u-full-width"> 
</form> 

PHP:

<?php 
    //variables 
    $title = $_POST['title']; 
    $date = $_POST['date']; 
    $buildyear = $_POST['buildyear']; 

    //in browser 
    echo "<h1>The inserted data has been locally stored as " . $title . " " . $date . ".txt</h1>"; 
    echo "<p>click <a href='index.html'>Here</a> to return to the previous screen</p>"; 

    //write text file. 
    $file = fopen($title . " " . $date . ".txt","w"); 
    if ($date) fwrite($file, "Date: " . $date . "\r\n"); 
    fwrite($file, "\r\n"); 
    if ($buildyear) fwrite($file, "Buildyear: " . $buildyear . "\r\n"); 
    if (isset($_POST['rebuild']) && $_POST['rebuild'] == 'yes') { 
     fwrite($file, "rebuild? yes \r\n"); 
    } 
    elseif (isset($_POST['rebuild']) && $_POST['rebuild'] == 'no') { 
     fwrite($file, "rebuild? no \r\n"); 
    } 

    fclose($file); 
?> 
Смежные вопросы