2011-09-13 51 views
1

我有下面的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

您不需要使用' '來格式化表格數據;只需使用常規空格和「{}」按鈕。 –

+0

在表單中使用一個''。 FWIW,你也錯過了你的''標籤。 – FtDRbwLXw6

回答

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>"; 
+0

您放入的代碼根本無效。我不會說它不起作用,但它是無效的...... –

+0

而對於記錄來說,如果選項和它的值相同,則不需要'value =「」'屬性。 –

+0

即使它們是相同的,爲'OPTION'設置'value'和文本節點也是很常見的。不知道爲什麼,但我看到它遍佈整個地方。 –

5

使用hidden輸入類型:

<input type="hidden" name="id" value="..." /> 
0

隱藏的表單元素是一個嘗試和真正的解決方案,但是你也可以釘在一些網址參數的形式行動目標:

echo "<form name='CLChange' method='post' action='yourscript.php?uid=$userId'>"; 

然後當然你可以在yourscript.php中檢索它:

$userid = (int)$_GET['uid']; 
+0

謝謝,應該這樣做 – rdelfin