如何将php变量放入HTML表单中

时间:2013-12-10 02:03:09

标签: javascript php jquery html mysql

我有一个查询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没有显示为文本框值。

我做错了什么?

2 个答案:

答案 0 :(得分:3)

首先,如果我不说别人是:请使用mysqli代替mysql。如果你愿意,你仍然可以使用程序样式(虽然我可以直接说它很容易学习对象样式),你只需要快速查看mysqliMysql已弃用,因此使用起来毫无用处。你最终必须要学习它,所以当你构建一个新程序时,它可能是最简单的。

继续你做错了,是你实际上没有取得任何东西。 MySQL将为您提供一个对象,然后您需要对行进行排序。

所以,你需要做的就是拉mysql_fetch_array

你可以这样做:

while($row = mysql_fetch_array($result)) {
    $username = $row["username"];
}

答案 1 :(得分:0)

表格代码请改为:

<input type='hidden' name='id' value='<?= $id ?>' />

您忘记“打印”$ id值。

和adminedituser.php的代码:

$id = filter_input(INPUT_POST, "id"); 

从表单的POST请求中获取“id”字段。