2013-03-03 76 views
0

上的最后一个选择是有可能的是,当记住简单的形式

  • 我从列表中
  • 选择的东西,我点击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> 

例如,

  • 如果我从列表中的用户表中选择
  • ,撞上去

他将继续留在那里

+1

随着'$ _SESSION [''];'一切皆有可能 – samayo 2013-03-03 17:45:57

+0

使用Cookie ............... – RIKI 2013-03-03 17:45:59

回答

0

为了使选择“大棒”你需要把这个词selected<option>之前的值标记。为了做到这一点,您将需要使用foreach循环动态生成选项。在循环内部,您将看到$_REQUESTif它与您在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> 
+0

谢谢大家 它帮了我很多 – user1780343 2013-03-03 19:05:03

+0

如果解决了问题,它作为解决方案。 – 2013-03-03 20:58:28

1

您可以使用会话在稍后时间访问不同的脚本的一些数据:从列表

session_start(); 

    $_SESSION = $POST['list']; 

现在所选择的项目将保持在那里,只要浏览器仍然打开。

,如果你想从会话使用删除项目:

unset($_SESSION['list']); 

,记住每次使用会话时间,你必须在文件(永远)的顶部使用:

session_start();