Как изменить контент в зависимости от <select>?

Мне нужна помощь по 2 вещам, так как я не уверен в PHP: содержимое, которое изменяется в зависимости от:

<select> <option>Option 1</option> <option>Option 2</option> </select> 

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

Вот модель для скрипта:

ЧИТАТЬ
ЕСЛИ Пользователь выбирает «variable1, varialbe2 и т. Д.»
THEN Дисплей "стр. 1, стр. 2, стр. 3"
* Страница изменяется на странице, так что, если пользователь хочет снова ее изменить, им не нужно возвращаться … Возможно, это можно сделать, используя:

 <?php include 'page1.php'; ?> 

Это содержимое будет содержать кнопку, и в зависимости от этой кнопки я хочу, чтобы текстовое поле заполнялось определенным текстом.

 <input type="button" value=""> 

Затем в зависимости от значения этой кнопки PHP помещает текст в текстовое поле. Из того, что я прочитал, будет использоваться $ request и $ post … (Это, конечно, отдельный PHP)

Для достижения вашей цели может быть несколько разных способов. Если мы будем использовать PHP, как вы просили, то, вероятно, лучше всего. Я использовал case / switch здесь для целей безопасности и POST вместо GET, чтобы предотвратить манипуляции с URL-адресами, хотя с case / switch вы все равно обращались с большим количеством манипуляций с URL-адресами, поэтому это становится для вас преимуществом.

 <?php $page = null; if(isset($_POST['page'])){ $page = $_POST['page']; } switch($page){ case 'page3': include_once('/path/to/page3content.php'); break; case 'page2': include_once('/path/to/page2content.php'); break; case 'page1': include_once('/path/to/page1content.php'); break; default: include_once('/path/to/defaultcontent.php'); break; } ?> <form name="myform" action="" method="post"> <select name="page" onchange="this.form.submit()"> <option value="page1"<?php if($page == "page1"){ echo " selected"; }?>>Page 1</option> <option value="page2"<?php if($page == "page2"){ echo " selected"; }?>>Page 2</option> <option value="page3"<?php if($page == "page3"){ echo " selected"; }?>>Page 3</option> </select> </form> 

Однако, в зависимости от вашей файловой структуры, вы можете сделать что-то подобное даже более простое с небольшим базовым Javascript и HTML.

 <select name="page" onchange="window.location=this.value"> <option value="/path/to/page1.php">Page 1</option> <option value="/path/to/page2.php">Page 2</option> <option value="/path/to/page3.php">Page 3</option> </select> 

Вам нужно иметь поле name в вашем теге select и поля value в ваших тегах option :

 <form name='myform' action='myform.php' method='POST'> <select name='myselect'> <option value='1'>Option 1</option> <option value='2'>Option 2</option> <option value='3'>Option 3</option> </select> <input type='submit'> </form> 

Затем страница PHP получит выделение через $_POST['myselect'] .

Вы можете отправить форму onChange событие выбора.

Затем вы можете запустить $_GET и отобразить соответствующий контент для этой конкретной страницы, сравнив значение $_GET['page']

  <form action="page.php" method="get"> <select name="page" onchange="this.form.submit()"> <option value="page1">Page 1</option> <option value="page2">page 2</option> </select> </form> <?php if(isset($_GET['page'])){ if($_GET['page']=="page1"{ //content for page 1 }elseif($_GET['page']=="page2"{ //content for page 2 } } ?> 

Таким образом вам также не понадобится кнопка отправки. Вы также можете перенаправить его на определенную страницу, сравнив значения $_GET['page'] однако вам нужно будет включить эту форму на каждую страницу с соответствующим методом, чтобы выполнить вашу работу.

Вы также можете обойти кнопку отправки и использовать следующее:

 <form action="index.php" name="myForm" method="post"> <select onchange="window.location.href = this.value" name="select"> <option value="index.php?page=yourpage">yourpage</option> <option value="index.php?page=yourpage2">yourpage2</option> </select> </form> 

Затем, где будет идти ваш контент, вы можете:

 <?php if (isset($_GET['page'])) { if ($_GET['page'] == "yourpage") {include("pages/page1.php");} else ($_GET['page'] == "yourpage2") {include("pages/page2.php");} } else {include("pages/default.php");} ?>