0

$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>
?>
4

8 に答える 8

4

最後から を削除し、?>前に置きます<html>

于 2012-06-05T10:40:47.577 に答える
2

以前の回答に加えて、開発環境で error_reporting を E_ALL に設定し、display_errors を ON に設定することをお勧めします。これにより、単純な HTTP 500 よりも詳細なエラー メッセージを取得できます。

乾杯 :)

于 2012-06-05T10:42:52.307 に答える
0

あなたのコードに問題はないと思います。しかし、あなたはこれを試してみます

<input type="text" name="UName" size="30" value="<?php echo $Firstname; ?>" />
于 2012-06-05T10:38:42.440 に答える
0

私にとってかけがえのないサイトの 1 つは、http: //phpcodechecker.com/です。

行またはファイル全体に貼り付けて、分析ボタンをクリックできます。いくつかの警告を含め、PHP パーサーが好まないものを教えてくれます。見つからない ')' や同様のエラーが表示されない場合に非常に便利です。

于 2013-08-09T23:15:57.307 に答える
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 ?>)
于 2012-06-05T10:47:59.020 に答える
0

コードのどこかにエラーがある可能性があります。私はあなたのサンプルコードでそれを見つけることができないようです.

ちなみに、このような場合に単一の値をエコーするための良い方法は次のとおりです。

<input type="text" name="UName" size="30" value="<?=$Firstname?>" /> 
于 2012-06-05T10:39:18.240 に答える
0

まず気になったのがこれ、

PHP インジェクションを"で囲むのを忘れました

<input type="text" name="UName" size="30" value="<?php echo htmlentities($Firstname); ?>"/><br/>
于 2012-06-05T10:44:52.273 に答える
0

エラー 500 は Apache サーバーからのもので、PHP には関係ありません。htaccess を変更する必要があると思います。
サーバーを再起動して結果を確認するか、Apache エラーのログインを確認してください。/var/log/

于 2012-06-05T10:51:33.673 に答える