спасибо, что нашли время, чтобы посмотреть на это. Я занимаюсь этим раздражающим циклом foreach. Вот что я пытаюсь сделать.
У меня есть первая страница «form.php». На этой странице у меня есть флажки. Каждый флажок генерируется из таблицы базы данных. Вот код:
<?php include("config.php"); $mysqli = new mysqli($host, $db_uname, $db_pass, $db); $query = "SELECT * FROM `plugins` WHERE 1"; if ($result = $mysqli->query($query)) { echo '<form action="test.php" method="post"> <input name="gname" placeholder="Group Name..."/> <table width="200"> '; while ($row = $result->fetch_assoc()) { echo '<tr><td> <label> <input type="checkbox" value="'.$row["plugin"].'" name="checkbox[]"> '.$row["plugin"].' </label> </td></tr>'; } echo ' </table> <select name="permplugin"> <option>Select One...</option>'; $query2 = "SELECT * FROM `permission_types` WHERE 1"; if ($result2 = $mysqli->query($query2)) { echo '<h3>Select Permission format below</h3><hr />'; while ($row2 = $result2->fetch_assoc()) { echo ' <option value="'.$row2["plugin_name"].'">'.$row2["plugin_name"].'</option>'; } echo ' </select> <br /> <input name="" type="reset"><input name="" type="submit"> </form>'; } } ?>
Теперь после этого он отправляет отмеченные флажки в «test.php», вот код для этого:
<?php if(!empty($_POST['checkbox']) || !empty($_POST['select']) || !empty($_POST['gname'])) { echo '<h1>'.$_POST['gname'].'</h1>'; $check1 = $_POST['checkbox']; foreach($check1 as $check) { include "functions.php"; checkboxes($check); } echo '<h3>Selected Permission format below</h3><hr />'; echo $_POST['permplugin']; } else { echo "please select atleast one plugin."; } ?>
Код страницы функций выглядит следующим образом:
<?php //all functions are here. function checkboxes($check){ $mysqli_perm = new mysqli("localhost", "uname", "pword", "tcordero_permnodes"); $query_perm = "SELECT * FROM permission_nodes WHERE plugin = `$check`"; if ($result_perm = $mysqli_perm->query($query_perm)) { echo $check; /* fetch associative array */ while ($row_perm = $result_perm->fetch_assoc()) { echo $row_perm['node'].'<br />'; } unset($check); } }
с<?php //all functions are here. function checkboxes($check){ $mysqli_perm = new mysqli("localhost", "uname", "pword", "tcordero_permnodes"); $query_perm = "SELECT * FROM permission_nodes WHERE plugin = `$check`"; if ($result_perm = $mysqli_perm->query($query_perm)) { echo $check; /* fetch associative array */ while ($row_perm = $result_perm->fetch_assoc()) { echo $row_perm['node'].'<br />'; } unset($check); } }
Когда я запускаю test.php, я получаю эту ошибку: Неустранимая ошибка: Невозможно переопределить флажки () (ранее объявленные в C: \ xampp \ htdocs \ TPYC \ functions.php: 3) в C: \ xampp \ htdocs \ TPYC \ functions .php в строке 15
Что я делаю не так?