2013-02-01 52 views
2

我需要2個東西幫助,因爲我在PHP我不是薩維: 內容是,根據修改:如何改變內容取決於<select>?

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

我認爲這是可以使用PHP來完成,通過給名字的選項,有PHP獲取名稱,根據這些名稱創建變量並添加一個顯示變化內容的「包含」。

下面是該腳本的模式:

READ選擇
如果用戶選擇「變量1,varialbe2等」
就會顯示「第1頁,第二頁,第三頁」
*頁面內的頁面變化,使如果用戶想再次更改他們沒有回去......也許這可以通過完成:

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

該內容將包括一個按鈕,並根據該按鈕,我想一個文本框中填充certai n文本。

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

然後,根據該按鈕的值,PHP將文本放入文本框。 從我讀過這將使用$請求和$帖子... (當然,這是單獨的PHP)

+0

讓我嘗試重寫一下..你想要一個選擇框,當改變時,將加載文本並將其顯示在前面的文本中。是否正確? – user20232359723568423357842364

回答

3

可能會有幾個不同的方式來實現自己的目標。如果我們堅持按照您的要求使用PHP,那麼這樣的事情可能是最好的。爲了安全起見,我使用了一個case/switch來代替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> 
1

你需要在你的select標籤name領域,你optionvalue領域標籤:

<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']接收選擇。

1

您可以提交select選項的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']的值將其重定向到某個頁面,但是您需要將此表單包含在每個頁面中,並使用適當的方法來完成您的工作。

1

你也可以繞過提交按鈕,使用以下命令:

<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");} 
?>