2017-04-24 48 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