我想知道是否有人能够帮助我。会话变量不再工作
我觉得我需要一双新鲜的眼睛来看看我有一个我看不到解决方案的问题。
下面的表格用于列出保留在MySQL数据库中的Location records
。
<form name="locationsconsole" id="locationsconsole" method="post" action="locationsaction.php">
<?php
$query = "SELECT * FROM `table` WHERE `userid` = '$idnum' ORDER BY locationname";
$result = mysql_query($query) or die('error');
$num = mysql_numrows($result);
mysql_close($connect);
$i=0;
while ($i < $num) {
$lid=mysql_result($result,$i,"locationid");
$lname=mysql_result($result,$i,"locationname");
$laddress=mysql_result($result,$i,"returnedaddress");
<tr>
<td><input type="text" id="lid" name="lid" value="<?=$lid?>"/></td>
<td><div align="center"><?php echo $lname;?></div></td>
<td><div align="left"><?php echo $laddress;?></div></td>
<td><div align="center"><?php echo $findscount?></div></td>
<td><div align="center"><input name="type" type="submit" value="View Details"/></div></td>
<td><div align="center"><input name="type" type="submit" value="Add Finds"/></div></td>
<td><div align="center"><input name="type" type="submit" value="Add Images"/></div></td>
<td><div align="left"><input name="type" type="submit" value="View Location Finds"/></div></td>
</tr>
</form>
用下面的代码,在我的形式结束时的四个按钮将用户带到四个独立的屏幕,经由$lid variable
所有链接回Location record
。因此
<?php session_start();
$_SESSION['lid'] = $_POST['lid'];
if (isset($_POST['type'])) {
$urls = array(
'View Details' => 'viewlocation.php',
'Add Finds' => 'addfinds.php',
'Add Images' => 'addimages.php',
'View Location Finds' => 'locationfinds.php'
);
$url = $urls[$_POST['type']];
header("Location: " . $url);
}
?>
所有的四个接收形式具有此$lid = $_SESSION['lid'];
在每一页的顶部,以捕捉该变量。
这个架构在几天前完美运行,现在它全部出错,我不知道为什么。我知道我的表单中的这个字段<input type="text" id="lid" name="lid" value="<?=$lid?>"/>
保持了正确的值。
但是,无论有多少个Locations records
,如果我点击任何按钮,我都会将其带到正确的接收屏幕,但始终是列表中的最后一个“位置”记录。
我只是似乎无法找到我在这里做错了什么,或者明白为什么它现在开始导致我的问题。我已经在Chrome中检查了JavaScript控制台,这也没有显示任何错误。
我只是想知道是否有人可以看看这个请让我知道我要去哪里错了。
非常感谢和亲切的问候
'$ num = mysql_numrows($ result);'???该函数被称为'mysql_num_rows()' –
另外,您正在通过'mysql_close()'关闭连接,然后检索任何行。 –
嗨@迈克尔,谢谢你帮助我。我已经对代码进行了修改,以了解会发生什么,并且不幸的是问题仍然在发生。非常感谢和问候 – IRHM