使用 PHP 填充 HTML 文本框值


Populating a HTML textbox value with PHP

我正在尝试用$Firstname填充html文本框值,但我不断收到HTTP 500内部服务器错误。插入 php 部分工作得很好。

这是我的PHP代码。我试图设置的框在底部。

<?php
$Firstname = $_POST['Fname'];
$Surname = $_POST['Lname'];
$UserName = $_POST['UName'];
$Password = $_POST['Password'];
$Valid = mysql_connect('localhost' , 'root' , 'pword');
if(!$Valid) 
{
    echo 'Could not connect' . mysql_error();
}
else
{
    mysql_select_db('accounts', $Valid) or die('could not select database');
    $query = "INSERT INTO `users` (`UserName`, `Password`, `FirstName`, `Surname`) VALUES ('".$UserName."' , '".$Password."' , '".$Firstname."' , '".$Surname."')";  
    mysql_query($query, $Valid) or die('Error Adding the users details.');
    echo "The following user " . $Firstname . " has been added to the database";
}
<html>
<body>
<input type="text" name="UName" size="30" value=<?php echo htmlentities($Firstname); ?>/><br/>

</body>
</html>
?>

从末尾取下?>并将其放在<html>之前

除了前面的答案之外,我建议您确保在开发环境中将error_reporting设置为 E_ALL,display_errors设置为 ON。 这将帮助您获得比简单的 HTTP 500 更详细的错误消息。

欢呼:)

我认为

您的代码没有任何问题。但是你试试这个

<input type="text" name="UName" size="30" value="<?php echo $Firstname; ?>" />

您的代码中可能存在错误。我似乎在您的示例代码中找不到它。

顺便说一下,在这种情况下回显单个值的一个好做法是:

<input type="text" name="UName" size="30" value="<?=$Firstname?>" /> 

我注意到的第一件事是这个,

你忘了把你的php注入包含在"

<input type="text" name="UName" size="30" value="<?php echo htmlentities($Firstname); ?>"/><br/>

而不是:

...
    echo "The following user " . $Firstname . " has been added to the database";
}
<html>
<body>
....
?>

尝试:

...
    echo "The following user " . $Firstname . " has been added to the database";
}
?>   <!-- add ?> -->
<html>
<body>
....
(delete ?>)

错误500来自Apache服务器,它与PHP无关。我认为您需要更改您的 htaccess,如果您有的话!
尝试重新启动服务器,并查看结果,或者更好的是检查 apache 错误日志/var/log/

一个

对我来说非常宝贵的网站是:http://phpcodechecker.com/

您可以粘贴一行或整个文件,然后单击"分析"按钮。 它会告诉你PHP解析器不喜欢什么,包括一些警告。 非常方便查找丢失的")"和不会弹出的类似错误。