PHP变量不会显示在表单输入字段中

PHP变量不会显示在表单输入字段中,php,html,mysql,forms,Php,Html,Mysql,Forms,我试图从数据库中选择一个PHP变量,并将其插入html表单输入。我想我的问题是如何将查询存储到变量中,然后以html形式调用该变量?此外,表单位于表单操作文件的单独页面上。如果它是在PHP文件中定义的,为什么它是未定义的?所需的输出是当我加载html页面时,来自数据库的昵称值自动填充表单的该字段 错误: 注意:未定义变量:第45行C:\xampp\htdocs\Client Projects\Crossfire\templates\CoinSubmission.html中的昵称 CoinSubm

我试图从数据库中选择一个PHP变量,并将其插入html表单输入。我想我的问题是如何将查询存储到变量中,然后以html形式调用该变量?此外,表单位于表单操作文件的单独页面上。如果它是在PHP文件中定义的,为什么它是未定义的?所需的输出是当我加载html页面时,来自数据库的昵称值自动填充表单的该字段

错误:
注意:未定义变量:第45行C:\xampp\htdocs\Client Projects\Crossfire\templates\CoinSubmission.html中的昵称

CoinSubmission.html




这是因为如果
$Nickname
已关闭,则不会设置Register Globals,这是正常的

从PHP 5.3.0开始,Register Globals已被弃用,并从PHP 5.4.0开始删除

所以使用
$\u POST

<input type="text" name="Nickname" id="Nickname" value="<?php echo htmlspecialchars($_POST['Nickname']); ?>">

首先,你的html页面应该有扩展名.php而不是.html,这样它就可以在html文件中解释你的php代码,不用担心这不会破坏html

如果它是在php文件中定义的,为什么它是未定义的

这是因为每个php脚本都是单独运行的,除非将它们连接在一起。 我建议你多读一点php的工作原理

对于这个例子,我会这样做

CoinSubmission.php

<?php //This goes at the top of the file
 include_once('AdminCoinSub_Code.php') //If they are in the same dir else you will need to set the path properly. 
?>

<form autocomplete="off" action="AdminCoinSub_Code.php" method="POST">
 <p>
  <input type="text" name="Nickname" id="Nickname" value="<?php echo 
   htmlspecialchars($Nickname); ?>">
 </p>
</form>



可能重复@Dharman抱歉,我是说Register Globals:Register Globals已经从PHP中删除多年了,没有理由再提它了。让它安息吧。我仍然不认为这是他们问的问题。好的,但是请记住OP将POST数据发送到一个文件,然后尝试在另一个文件中获得结果。这不是未注册全局变量的问题,而是对PHP变量如何工作的严重误解。
<input type="text" name="Nickname" id="Nickname" value="<?php echo htmlspecialchars($_POST['Nickname']); ?>">
<?php //This goes at the top of the file
 include_once('AdminCoinSub_Code.php') //If they are in the same dir else you will need to set the path properly. 
?>

<form autocomplete="off" action="AdminCoinSub_Code.php" method="POST">
 <p>
  <input type="text" name="Nickname" id="Nickname" value="<?php echo 
   htmlspecialchars($Nickname); ?>">
 </p>
</form>