2016-02-03 16 views
0

У меня есть 2 формы, которые необходимо использовать для составления отчета. Первая форма получает данные из базы данных (MariaDB) при замене одной из ячеек (события изменения происходят, когда пользователь проверяет ячейку с сообщением), когда ячейка выбрана с подробностями отчета, эти данные используются по представлению второй формы. До этого момента все идеально. Проблема в том, что я не могу сохранить галочку в ячейке первой формы, как только она будет выбрана, потому что страница перезагружается при замене. Это заставляет пользователя полагать, что они не выбрали какой-либо отчет.Сохраните галочку после отправки формы

Итак, я хочу, чтобы сохранить ячейку первой формы после получения данных из базы данных. Затем пользователь нажимает «Отправить», чтобы отправить вторую форму.

С уважением, спасибо за вашу помощь!

<form name="f1" id="form1" action="" method="post"> 
    <div class="table-responsive"> 
    <table class="table table-striped"> 
     <thead> 
     <tr> 
      <th>Select</th> 
      <th>Assets </th> 
      <th>Description </th> 
      <th>Date</th> 
      <th>Action</th> 
     </tr> 
     </thead> 
     <tbody> 
       <?php 
       while($agency_row = $agency_stmt->fetch(PDO::FETCH_ASSOC)){ 
       $value1 = str_replace(' ','&nbsp;',str_pad($agency_row["agency"], -10)); 
       $value2 = str_replace(' ','&nbsp;',str_pad($agency_row["report_name"], 70)); 
       $formatedDate = date("D M d H:i:s Y", $agency_row["scan_end"]); 
       $value3 = str_replace(' ','&nbsp;',str_pad($formatedDate, 20)); 
       echo "<tr>"; 
       echo "<td><input onchange='f1.submit()'; type='checkbox' class='i-checks' name='agency' value='" . $value1 . ":" . $agency_row["report_name"] . ":" . $agency_row["scan_start"] . ":" . $agency_row["scan_end"] . "'></td>"; 
       echo "<td>$value1</td>"; 
       echo "<td>$value2</td>"; 
       echo "<td>$formatedDate</td>"; 
       echo "<td>$value3</td>"; 
       echo "</tr>";  
       }?> 
     </tbody> 
    </table> 
</form> 

<form name="f2" id="form2" action="report.php" method="post"> 
    <input type="hidden" name="agency" value="<?php echo "$agency";?>"> 
    <input type="hidden" name="report_name" value="<?php echo "$report_name";?>"> 
    <input type="hidden" name="scan_start" value="<?php echo "$scan_start";?>"> 
    <input type="hidden" name="scan_end" value="<?php echo "$scan_end";?>"> 
    <input type="hidden" value="yes" name="isPlugName"> 
    <input type="hidden" value="yes" name="isPlugFam"> 
    <input type="hidden" value="yes" name="isPlugInfo"> 
    <input type="hidden" value="yes" name="isSynopsis"> 
    <input type="hidden" value="yes" name="isDescription"> 
    <input type="hidden" value="yes" name="isSolution"> 
    <input type="hidden" value="yes" name="isSeeAlso"> 
    <input type="hidden" value="yes" name="isPlugOut"> 
    <input type="hidden" value="plugin" name="byVuln"> 
    <input type="hidden" value="yes" name="isCvss"> 
    <input type="hidden" value="yes" name="isVulnPub"> 
    <input type="hidden" value="yes" name="isExploit"> 
    <input type="hidden" value="yes" name="isCve"> 
    <input type="hidden" value="yes" name="isBid"> 
    <input type="hidden" value="yes" name="isOsvdb"> 
    <input type="hidden" value="yes" name="isCert"> 
    <input type="hidden" value="yes" name="isIava"> 
    <input type="hidden" value="yes" name="isCWE"> 
    <input type="hidden" value="yes" name="isMS"> 
    <input type="hidden" value="yes" name="isSec"> 
    <input type="hidden" value="yes" name="isEdb"> 
    <input type="hidden" value="yes" name="isAffected"> 
    <input type="hidden" value="yes" name="isService"> 
    <input type="hidden" value="4" name="critical"> 
    <input type="hidden" value="3" name="high"> 
    <input type="hidden" value="2" name="medium"> 
    <input type="hidden" value="1" name="low"> 
    <input type="submit" name="submithost" value="submit"> 
</form> 

ответ

0

Изменить

echo "<td><input onchange='f1.submit()'; type='checkbox' class='i-checks' name='agency' value='" . $value1 . ":" . $agency_row["report_name"] . ":" . $agency_row["scan_start"] . ":" . $agency_row["scan_end"] . "'></td>" 

к

$checked=(isset($_REQUEST['agency']) && $_REQUEST['agency'] == $value1) ? ' checked' : ''; 
echo "<td><input onchange='f1.submit()'; type='checkbox' class='i-checks' name='agency' value='" . $value1 . ":" . $agency_row["report_name"] . ":" . $agency_row["scan_start"] . ":" . $agency_row["scan_end"] . $checked ."'></td>" 
+0

Благодаря @cmerriman для принятия вашего времени! Однако, когда вы выбрали этот ввод, я сделал так, чтобы он не сохранил, но когда я изменил код на '$ checked = (isset ($ _ REQUEST ['agency']) && $ _REQUEST ['agency' ] == $ value1)? '': 'checked'; 'все ячейки проверяются даже при обновлении. Опять же, спасибо и добрые отношения @cmerriman! – SecretCoder

+0

Извините, я не уверен ... это решение для вас работало по мере необходимости? – cmerriman

+0

Нет, это не сработало. Когда я нажимаю на вход и перезагружается страница, проверки исчезают. – SecretCoder