好的,所以我过去两天一直在学习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>
?>
<?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>
?>
我不确定我做错了什么,但如果有人可以指出我正确的方向或给我一个解决方案我会很感激,再次iv只是在过去两天学习PHP。
答案 0 :(得分:4)
从结尾移除?>
并将其放在<html>
答案 1 :(得分:2)
除了之前的答案,我建议你应该确保在你的开发环境中将error_reporting设置为E_ALL并将display_errors设置为ON。这将帮助您获得比简单的HTTP 500更详细的错误消息。
欢呼:)答案 2 :(得分:0)
我认为您的代码没有任何问题。但你试试这个
<input type="text" name="UName" size="30" value="<?php echo $Firstname; ?>" />
答案 3 :(得分:0)
您的代码可能在某处出错。我似乎无法在您的示例代码中找到它。
顺便说一句,在这种情况下回显单个值的良好做法可以是:
<input type="text" name="UName" size="30" value="<?=$Firstname?>" />
答案 4 :(得分:0)
我注意到的第一件事就是这个,
您忘了在 “
中附上您的php注入内容<input type="text" name="UName" size="30" value="<?php echo htmlentities($Firstname); ?>"/><br/>
答案 5 :(得分:0)
而不是:
...
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 ?>)
答案 6 :(得分:0)
错误500来自Apache服务器,它不涉及PHP。如果你有任何变化,我认为你需要对你的htaccess进行更改!
尝试重新启动服务器,查看结果,或者甚至更好地检查/var/log/
答案 7 :(得分:0)
对我来说非常宝贵的一个网站是: http://phpcodechecker.com/
您可以粘贴一行或整个文件,然后单击“分析”按钮。它会告诉你PHP解析器不喜欢什么,包括一些警告。非常方便找到丢失的')'和类似的错误,不会弹出。