我正在尝试使用表单中的post将下拉列表中的表单数据作为会话保存在与表单相同的文件中
<?php
session_start();
if(isset($_SESSION['post-data']['surnameid']))
unset($_SESSION['post-data']['surnameid']);
?>
然后在html 的主体中
<form action="" method="post">
<?php
include 'connect.inc';
$sql = "SELECT surnameid FROM customer";
$result = mysql_query($sql);
echo "<select name='surnameid'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['surnameid'] . "'>" . $row['surnameid'] . </option>";
}
include 'close.inc';
?>
<br/>
<input type="submit" name="Submit" value="Submit!" />
</form>
<?php
$_SESSION['post-data'] = $_POST;
echo $_SESSION['post-data']['surnameid'];
?>
$_SESSION的赋值不起作用
试试这个:当你放置回显时,你忘记了双引号
确保数据库中有行(我们不能测试),但我用预定义的数据进行了测试,这个版本可以使用
form.php
<?php
session_start();
?>
<form action="" method="post">
<?php
echo "<select name='surnameid'>";
echo "<option value='1'>test</option>";
echo "<option value='2'>test2</option>";
?>
<br/>
<input type="submit" name="Submit" value="Submit!" />
</form>
<?php
if( !empty($_POST)){
$_SESSION['post-data'] = $_POST;
}
if(isset($_SESSION['post-data']['surnameid']))
echo $_SESSION['post-data']['surnameid'];
?>
testrongession.php
<?php
session_start();
print_r($_SESSION['post-data']['surnameid']);
?>