繁体   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