[英]How to put a php variable into an HTML form
我有查詢SQL數據庫並在一個表中顯示所有用戶的代碼,它們運行正常,從那里您可以單擊任何用戶,並且它顯示另一個包含其所有信息的表,該表也運行良好。
我在這里遇到的問題在顯示所選用戶信息表的頁面上。 在該頁面上,我有一個按鈕,可用於編輯用戶信息和更新數據庫。
這是按鈕的代碼:
print "<form method='post' action='adminedituser.php'>
<input type='hidden' name='id' value='$id' />
<input type='submit' value='Click here to edit this user' />
</form>";
單擊此按鈕后,我將進入帶有輸入框的頁面,該輸入框需要顯示當前用戶名並允許用戶輸入新值並提交。
我正在嘗試在我擁有的HTML表單內調用php變量:
<?php
$id = filter_input(INPUT_POST, "id");
//Make db connection
$conn=mysql_connect("localhost","root","")or die(mysql_error());
//Step 2: select your db to use
mysql_select_db("final",$conn);
//Step 3: Write the sql that we want to run against the database
$result = mysql_query("select id, firstname, lastname, email, phone, username, password, favchar, bio from user where id=$id");
$username = $result["username"];
?>
<form method='post' id='myForm' name='input' action='adduser.php'>
Username: <input type='text' value="<?php echo ($username); ?>" id='uName' name='uName'>
<input type='submit'>
</form>
問題是變量$ username沒有顯示為文本框值。
我究竟做錯了什么?
首先,如果我不說其他人,那就是:使用mysqli
代替mysql
。 如果願意,您仍然可以使用過程樣式(盡管我可以直接說一遍,學習對象樣式非常容易),您只需要快速了解mysqli
。 不建議使用Mysql
,因此使用起來有點無用。 您最終必須學習它,因此在構建新程序時,這可能是最簡單的。
繼續您做錯的事情,就是您實際上沒有獲取任何東西。 MySQL將給您一個對象,然后您需要對行進行排序。
因此,您需要做的是pull mysql_fetch_array
。
您可以這樣做:
while($row = mysql_fetch_array($result)) {
$username = $row["username"];
}
表單代碼應更改為:
<input type='hidden' name='id' value='<?= $id ?>' />
您忘記了“打印” $ id值。
和adminedituser.php的代碼:
$id = filter_input(INPUT_POST, "id");
從表單的POST請求中獲取“ id”字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.