【发布时间】:2016-11-18 11:04:59
【问题描述】:
我有以下代码,用户从下拉列表中选择值。每次提交时,都应将 ID 推送到数组中。
<?php
$_SESSION["test"] = array();
$link = mysql_connect("localhost","root","");
mysql_select_db("dbsikkim",$link);
?>
<form name="form1" method="post" action="">
<?php
$sql=mysql_query("SELECT ID,DOC_DESC FROM gstn_document_type_master",$link);
echo "<select name='doc_type_code2'>";
if(mysql_num_rows($sql)){
while($row=mysql_fetch_array($sql)){
echo "<option value=".$row['ID'].">".$row['DOC_DESC']."</option>";
}
}
echo "</select>";
?>
<input type="submit" value="Submit" name="submit">
</form>
<?php
if(isset($_POST['submit']))
{
$_SESSION["test"][] = $_POST['doc_type_code2']; //ERROR IN THIS LINE
for ($i=0; $i < sizeof($_SESSION["test"]); $i++) {
echo $_SESSION["test"][$i]."<br>";
}
}
?>
只有当前值被推入数组并替换前一个值。简而言之,它是作为变量而不是数组工作。
【问题讨论】:
-
每次单击提交按钮时,页面都会重新加载,并且在页面重新加载时会重新定义变量。失去了它的价值。因此,请尝试使用其他选项,例如 $_SESSION。