簡體   English   中英

如何通過PHP中的表單發布發送其他變量?

[英]can I send additional variables through form post in PHP?

我有mysql表members ,其列iduserpasswordverified

當用戶登錄時,使用用戶名和密碼(與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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM