我需要2个方面的帮助,因为我不擅长PHP: 内容根据以下内容而变化:
<select>
<option>Option 1</option>
<option>Option 2</option>
</select>
我认为这可以通过使用PHP来完成,方法是为选项提供名称,让PHP获取名称,根据这些名称创建变量,并添加一个显示不断变化的内容的“include”。
这是脚本的模型:
READ选择
IF用户选择“variable1,varialbe2等”
那么显示“page1,page2,page3”
*页面在页面内更改,以便如果用户想要再次更改它们,则不必返回...也许这可以通过以下方式完成:
<?php include 'page1.php'; ?>
该内容将包含一个按钮,根据该按钮,我希望文本框中填充某些文字。
<input type="button" value="">
然后,根据该按钮的值,PHP会将文本放入文本框中。 根据我的阅读,这将使用$ request和$ post ... (这当然是单独的PHP)
答案 0 :(得分:5)
可能有几种不同的方法可以实现您的目标。如果我们坚持按照您的要求使用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>
答案 1 :(得分:1)
您需要在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']
收到选择。
答案 2 :(得分:1)
您可以提交选择选项的表单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']
的值将其重定向到特定页面,但是您需要在每个页面中包含此表单,并使用适当的方法来完成工作。
答案 3 :(得分: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");}
?>