我有以下PHP代码:
echo "<form name='CLChange' method='post' action=''>";
echo "<td><select name='NewClearanceLevel'>\n";
for($i = 1; $i < $ClearanceLevel; $i++)
{
echo "<option value='" . $i . "'>" . $i . "\n";
}
echo"<input type='submit' value='Change'></td></form>";
我希望能够传递代表当前表行的其他值(这会创建一个表,我可以使用该表对单个用户进行更改)。每个用户都有一行。看起来大致如下:
User ID Clearance Level New Clearance Level
User 1 1 4 (Drop down list and submit button)
User 2 2 3 (Drop down list and submit button)
User 3 3 1 (Drop down list and submit button)
每个下拉列表和按钮都是一个单独的表单。
我该怎么做才能传递一个额外的值来知道我在说哪个用户?或者还有其他方法可以知道传递的表单名称是什么?
答案 0 :(得分:5)
使用hidden
输入类型:
<input type="hidden" name="id" value="..." />
答案 1 :(得分:1)
试试这个:
echo "<form name='CLChange' method='post' action=''>";
echo "<input type='hidden' name='userId' value='" . $userId . "' />";
echo "<td><select name='NewClearanceLevel'>\n";
for($i = 1; $i < $ClearanceLevel; $i++)
{
echo "<option value='" . $i . "'>" . $i . "\n";
}
echo"<input type='submit' value='Change'></td></form>";
答案 2 :(得分:0)
隐藏的表单元素是一个经过验证的真实解决方案,但是您也可以将一些url params添加到表单操作目标:
echo "<form name='CLChange' method='post' action='yourscript.php?uid=$userId'>";
当然,你在yourscript.php中检索它:
$userid = (int)$_GET['uid'];