簡體   English   中英

如何將php變量放入HTML表單

[英]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.

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