有没有可能当
- 我从列表中选择一些东西
- 点击Go
浏览器会记住我在列表中的最后一个选择
<form action="<?php echo $_SERVER ['PHP_SELF']; ?>" method="get" name="search_frm" id="serch_frm">
<input name="serchStr" type="text" />
<select name="list">
<option value="">select</option>
<option value="client">table client</option>
<option value="user">table user</option>
</select>
<input name="submit" type="submit" value="go" />
</form>
例如,- 如果我从列表用户表 中选择
- 点击Go
他将留在那里
你可以使用会话访问一些数据在以后的时间在不同的脚本:
session_start();
$_SESSION = $POST['list'];
现在从列表中选择的项目将保持在那里,只要浏览器仍然打开。
如果你想从会话中删除项目,使用:
unset( $_SESSION['list'] );
并且记住每次你使用会话时你必须在文件的顶部使用(总是):
session_start();
为了选择"stick",你需要在<option>
标签的值之前放入selected
这个词。为了做到这一点,你需要使用foreach
循环动态生成选项。在循环中,你会看到$_REQUEST
和if
,它匹配在循环中迭代的echo selected
的值。
我已经这样做了十几次了,效果很好。
<?php
$options = array("select", "client", "user");
?>
然后在页面中:
<form action="<?php echo $_SERVER ['PHP_SELF']; ?>" method="get" name="search_frm" id="serch_frm">
<input name="serchStr" type="text" />
<select name="list">
<?php foreach ($options as $option): ?>
<option <?php if ($_GET['list'] == $option) { echo "selected"; } ?> value="<?php echo $option; ?>"><?php echo $option;?></option>
<?php endforeach ?>
</select>
<input name="submit" type="submit" value="go" />
</form>