2017-04-24 30 views
1

我有選擇菜單,我想改變內容,當我改變像jQuery的值,但與PHP。我在答案中找到了這個,但它不起作用。PHP更改內容與<select>

<?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> 

編輯:這個問題在我的瀏覽器。現在內容顯示在我的表單之後我希望內容在</select>之後顯示如何執行此操作?

+0

你得到什麼錯誤?它是什麼讓你覺得它不起作用? – RobFos

+0

我沒有錯誤。當我點擊頁面2或頁面3時,內容不會改變。 – SlaSerX

+0

我會確保你首先打開了'display_errors'和'error_reporting'。其次,文件的路徑是否正確? – RobFos

回答

0

,如果你想顯示後,選擇內容,然後更新此代碼

<?php 
session_start(); 
$page = null; 
if (isset($_POST['page'])) { 
    $page = $_POST['page']; 
    $_SESSION['page'] = $page; 
} else { 
    $page = $_SESSION['page']; 
} 

?> 
    <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> 

<?php 
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; 
} 
?> 
+0

我嘗試,但重新加載不以這種方式工作。 – SlaSerX

+0

請立即檢查 –

+0

不要重新裝入。 – SlaSerX