【发布时间】:2015-09-08 14:47:49
【问题描述】:
所以这对我来说是非常令人困惑的。我有一个包含行的页面(index.php)。打印出来的行看起来像这样
等等...从下面的代码中可以看到,我添加了调试语句来显示 passID(800 个数字)和 rowID(顺序)
echo "{$row['ID']}";
echo"
<form action=\"./functions/email.php\" id='passForm' method='post'>
<input type='hidden' id='passID' name='passID' value='{$row['ID']}'/>
<input type='hidden' id='rowID' name='rowID' value='$rowID'/>
<button type=\"submit\" form=\"passForm\" value=\"Submit\" style=\"height:25px; width:75px\">Pass</button>
</form>";
echo "$rowID";
当我点击一个特定的行时(比如说 860,如这里的开发者控制台所示)
当我们使用代码在 email.php 页面上查看结果时
$projectID = $_POST['passID'];
$rowID = $_POST['rowID'];
echo $projectID;
echo "<br />";
echo $rowID;
我们看到值已更改为 865 和第 1 行,而不是预期的 860 和第 3 行?!
这对我来说毫无意义。这怎么可能发生? html 页面以正确的行值呈现,如调试屏幕截图中所示,那么代码如何只是拾取下一页的顶行。这是怎么回事?!
如您所见,任何帮助都将不胜感激,哈哈,因为我可能会也可能不会因为盯着这个而发疯!
【问题讨论】:
-
所以你有多个表单/按钮/字段重复
ids?即passForm这些对于每个表单应该是唯一的。