Я относительно новичок в PHP. Для моей веб-страницы мне нужно загрузить несколько страниц на одной странице .. так как у меня есть базовая HTML-страница cwt.html, в которой есть все флажки и кнопка отправки. После нажатия кнопки «Отправить» на той же странице также должна быть загружена следующая страница (например, обработчик.php), связанная с выбранными флажками (cwt.html).
<html> <head> <title> Conditions We Treat </title> </head> <body> <form id = form1 action = "processing1.php" method = "post"> <input type = "checkbox" name = "sickness[]" value = "Nausea">Nausea</input><br/> <input type = "checkbox" name = "sickness[]" value = "Constipation">Constipation</input><br/> <input type = "checkbox" name = "sickness[]" value = "vomiting">Vomiting</input><br/> <div id = "submit1"><input type = "submit" name = "submit" value = "submit"></input></div><br/> </form> </body> </html>
Как только кнопка отправки нажата на этой веб-странице, элемент управления должен перейти к processing1.php, но содержимое должно быть загружено на той же странице
<html> <head> <title> Conditions We Treat </title> </head> <body> <?php echo "hi" foreach($_POST['sickness'] as $s) { $con = mysqli_connect("localhost","root","","collofnursing"); //mysql_select_db("collofnursing"); $res = mysqli_query($con,"select * from condwetreat"); while($row = mysqli_fetch_array($res)) { echo $s;?> <br><br><?php } } ?> </body> </html>
Вы можете использовать jquery, изменить свой метод отправки посредством события onclick для функции:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript"> function onSubmitForm(){ $.get('page1.php').success(function(html) { $('#page1').html(html); }); $.get('page2.php').success(function(html) { $('#page2').html(html); }); } </script> <div id="page1"></div> <div id="page2"></div>
Я рекомендую использовать функцию jQuery .load (), которая загружает страницы с использованием AJAX.
Ссылка здесь!
Как говорили другие, используйте jQuery для загрузки фрагмента HTML в div
. Поскольку у вас уже есть полный HTML-документ, загружаемый текст не должен быть полным HTML-документом – просто HTML, который вам нужен, если вы загрузили его в div
для начала.
Интересно, могу ли я предложить некоторые советы – не связанные с вопросом! – которые вы можете найти полезными. По мере того как ваше приложение становится более сложным, вы найдете более аккуратным, чтобы ваша логика и ваш код презентации были раздельными – даже если начать, вы просто ставите первое в начале документа PHP, а последнее в конце. По мере того, как вы узнаете больше о PHP, вы обнаружите, что это хорошая идея иметь их как отдельные файлы и загружать «шаблон» при использовании require_once
.
Если вы это сделаете, вы обнаружите, что способ написания PHP отличается между логикой и шаблоном. Для шаблона это помогает сохранить каждый оператор PHP в одном блоке PHP, поэтому по существу документ остается в виде HTML. Это более аккуратно и помогает использовать синтаксическую раскраску и проверку тегов внутри IDE. Таким образом, я бы написал ваш шаблон таким образом:
<?php // Move this 'logic' code out of the way of your view layer // Here, the brace form of loops is preferred // Ideally it'd get moved to a different file entirely $con = mysqli_connect("localhost","root","","collofnursing"); mysql_select_db("collofnursing"); $res = mysqli_query($con,"select * from condwetreat"); ?><html> <head> <title> Conditions We Treat </title> </head> <body> <!-- The PHP 'tags' are now easier to indent --> <!-- So use while/endwhile, foreach/endforeach etc --> Hi <?php while($row = mysqli_fetch_array($res)): ?> <!-- So it's HTML to style stuff, rather than putting HTML tags into PHP echo statements :) --> <p class="symptom"> <?php echo $row['symptom'] ?> </p> <?php endwhile ?> </body> </html>