【发布时间】:2017-09-23 21:04:04
【问题描述】:
在我的list.php 页面上,用户可以从下拉列表中选择一个国家,以显示 SQL 服务器的数据以供选择。在此选择中,用户可以选择更新/编辑edit.php 页面上的值。当用户在edit.php 页面上提交更改时,他们将被重定向到save.php 页面,然后返回到初始list.php 页面。我想知道是否可以使用SESSION 变量来存储初始国家/地区选择,以便用户在重定向到list.php 时获得相同的选择。我尝试使用session_start ();,但无法使用。
已编辑
这是我的代码片段:
list.php顶部:
<?php session_start(); ?>
表格:
<form name="frmname" id="frmid" action="list.php" method="POST" >
<h4>From: <input type="text" size="6" name="start_date" pattern="[0-9/]+"
placeholder=" 00/00/0000" />
To: <input type="text" size="6" name="end_date" pattern="[0-9/]+"
placeholder=" 00/00/0000" />
<select name="RegioSelect" onchange="this.form.submit();" ><option><?php echo $_SESSION['RegioSelect']; ?></option>
下拉列表填充:
$query1 = "SELECT DISTINCT CountryRegionName FROM tKein23 ORDER BY CountryRegionName";
$stmt1 = $conn->query( $query1 );
while ($data = $stmt1->fetch(PDO::FETCH_ASSOC)){
echo '<option value="'.$data['CountryRegionName'].'">';
echo $data['CountryRegionName'];
echo "</option>";
}
然后我尝试了SESSION_START():
<h4><input type="submit" value="Show" name="Selection" />
</select>
</form>
<?php
if(isset($_POST["RegioSelect"])){
$_SESSION['RegioSelect'] = $_POST["RegioSelect"];
}
现在,在其他页面上,我确实得到了 $_SESSION['RegioSelect'] 变量。在list.php 上,我在下拉列表中获得了变量,但没有提交。
【问题讨论】:
-
session_start()必须在在任何输出到浏览器之前调用 -
我将 session_start() 代码放在页面顶部,在 html 标记之前,但是当我被重定向到 list.php 时它似乎不起作用 没有得到所选国家
<?php session_start(); if(isset($_POST["RegioSelect"])){ $_SESSION['RegioSelect'] = $_POST["RegioSelect"]; } ?> -
$_SESSION['RegioSelect'] = $_POST["RegioSelect"];在list.php上?否则if()将不会被执行 -
好的,我应该在其他页面上放什么代码?只有 session_start();?
-
list.php 上的表单可以在加载时提交吗?怎么样?
标签: php html sql-server session-variables