会话变量没有正确传递?
A session variable doesn't get passed properly?
所以,我试图设置一个 $_SESSION 变量并将其传递给另一个页面,但是另一个页面上的变量与它必须的变量不同。
在 petitionlist.php
中设置 $_SESSION['petitionNameT'] = $petitionName1;
。
$petitionName1
的比赛因您选择点击的页面而异,它在 url id 中正确显示。
while($row = mysqli_fetch_array($sqldata, MYSQLI_ASSOC)){
$petitionName1 = $row['petitionName'];
$_SESSION['petitionNameT'] = $petitionName1;
echo "<tr><td><a href='petition.php?id=$petitionName1'>";
echo $row['petitionName'];
echo "</a></td><td>";
echo $row['petitionTheme'];
echo "</td></tr>";
}
但是当我们继续 petition.php
时,显示的结果与应有的结果大不相同,而且无论您单击哪一页,每一页都完全相同。
<?php
$petitionNameT = $_SESSION['petitionNameT'];
?>
<div id="wrapper">
<div id="contents">
<h1 class="headers"><?php echo $petitionNameT?></h1>
<p>
</p>
</div>
</div>
举个例子:
点击第一页应该是petitionTest
,结果是petitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetiti
点击第二页应该是petitionTest2,结果是petitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetiti
等等等等
P.S.
petitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetiti
是可以点击的其中一个页面的名称。
P.S.(2)
我刚刚发现它采用了可能从数据库中单击的最后一页的名称。
鉴于您的代码 $_SESSION['petitionNameT']
在循环的每次迭代中都会被覆盖,因此它将始终是查询中最后一行的 petitionName
。
您可能不想要会话。只需使用您在链接的查询字符串中包含的 id
:
while($row = mysqli_fetch_array($sqldata, MYSQLI_ASSOC)){
echo "<tr><td><a href='petition.php?id={$row['petitionName']}'>";
echo $row['petitionName'];
echo "</a></td><td>";
echo $row['petitionTheme'];
echo "</td></tr>";
}
然后在petition.php
:
$petitionNameT = $_GET['id'];
所以,我试图设置一个 $_SESSION 变量并将其传递给另一个页面,但是另一个页面上的变量与它必须的变量不同。
在 petitionlist.php
中设置 $_SESSION['petitionNameT'] = $petitionName1;
。
$petitionName1
的比赛因您选择点击的页面而异,它在 url id 中正确显示。
while($row = mysqli_fetch_array($sqldata, MYSQLI_ASSOC)){
$petitionName1 = $row['petitionName'];
$_SESSION['petitionNameT'] = $petitionName1;
echo "<tr><td><a href='petition.php?id=$petitionName1'>";
echo $row['petitionName'];
echo "</a></td><td>";
echo $row['petitionTheme'];
echo "</td></tr>";
}
但是当我们继续 petition.php
时,显示的结果与应有的结果大不相同,而且无论您单击哪一页,每一页都完全相同。
<?php
$petitionNameT = $_SESSION['petitionNameT'];
?>
<div id="wrapper">
<div id="contents">
<h1 class="headers"><?php echo $petitionNameT?></h1>
<p>
</p>
</div>
</div>
举个例子:
点击第一页应该是petitionTest
,结果是petitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetiti
点击第二页应该是petitionTest2,结果是petitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetiti
等等等等
P.S.
petitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetitionNameTestpetiti
是可以点击的其中一个页面的名称。
P.S.(2) 我刚刚发现它采用了可能从数据库中单击的最后一页的名称。
鉴于您的代码 $_SESSION['petitionNameT']
在循环的每次迭代中都会被覆盖,因此它将始终是查询中最后一行的 petitionName
。
您可能不想要会话。只需使用您在链接的查询字符串中包含的 id
:
while($row = mysqli_fetch_array($sqldata, MYSQLI_ASSOC)){
echo "<tr><td><a href='petition.php?id={$row['petitionName']}'>";
echo $row['petitionName'];
echo "</a></td><td>";
echo $row['petitionTheme'];
echo "</td></tr>";
}
然后在petition.php
:
$petitionNameT = $_GET['id'];