[英]can I send additional variables through form post in PHP?
我有mysql表members
,其列id
, user
, password
和verified
當用戶登錄時,使用用戶名和密碼(與members-db相比)向他們顯示一個表單。 表單收集信息以供管理員手動檢查。 提交表單后,它將向管理員發送電子郵件,其中包含所有詳細信息以手動確認。
我遇到的問題是管理員希望電子郵件包含一個鏈接,該鏈接將使他能夠在單擊時更新成員表中的已驗證字段。 我需要使用表格發送以前存儲的變量。 這樣,我就可以鏈接到members表。
例如,如果我將$ user_id存儲為需要更新的任何行的ID,並且可以將其與表單一起發送,則可以使用UPDATE功能WHERE id = $ user_id
這是我的表格...
<form method="post" name="verify_form" action="../includes/verify.php">
Website for Online Verification: <input type="text" name="webpage" id="webpage" /><br />
Identification Number: <input type="text" name="number" id="number" /><br />
Expiration Date: <input type="text" name="expire" id="expire" /><br />
<input type="submit" value="Verify Me!" onclick="return vformhash(this.form, this.form.webpage, this.form.number, this.form.expire);" />
<input type="reset" value="Clear Form" />
</form>
用戶提交時,是否可以將先前捕獲的$ user_id發送到verify.php頁面?
您可以使用隱藏字段:
<input type="hidden" name="userid" value="<?php echo $user_id; ?>" >
您可以使用:
<input type='hidden' name='user' value=<?php echo $user_id; ?>>
在表格內。
您可以像這樣發送網址
$url = "verify.php?user_id=" . $ user_id;
並在verify.php頁面中訪問它
$ user_id = $_GET ['user_id'];
您可以使用隱藏字段: <input type="hidden"...
如果信息敏感,則不應將其放在那些隱藏的字段中,而應將其存儲在會話中或存儲在服務器上。 然后,您可以使用隱藏字段來存儲密鑰,以后可以使用該密鑰再次查找這些值。
如果您要使用常規會話變量,而不在表單中輸入鍵,那么如果用戶在多個選項卡中打開了多個表單,則可能會遇到查找錯誤值的問題。
兩種選擇:
更改您的for標簽,以將ID作為GET參數傳遞:
action="../includes/verify.php?user_id=123"
-要么-
添加一個隱藏字段:
<input type="hidden" name="user_id" id="user_id" value="123" />
您可以在PHP腳本中使用$_GET['user_id']
作為選項#1或$_POST['user_id']
作為選項#2訪問此值。
用戶登錄時,將其ID保存在會話值中,例如$_SESSION["userID"]
。 然后,在verify.php中,您可以訪問$_SESSION["userID"]
。 它比來回傳遞ID作為參數更干凈。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.