私はこれを数時間働かせようとしています。私はここで私のコードで問題を見つけることができるかどうかを試してみるために多くのスレッドを研究しました。私はPHPに新しいですし、私は内部サーバーのエラーを取得し続けますが、私はそれを追跡するようだ。私は、これを運がうまくいかないようにするためにオンラインで提案されたあらゆる種類の方法を試しました。その基本的なユーザー登録フォームは、PHPファイルです(HTMLとPHPの両方を同じファイルに書きますが、動作させることはできませんでした)。アイデアは、フォームをMYSQLデータベースに送信して顧客テーブル。もしあなたが私が間違っていることに光を当てたり、正しい方向に私を向けることができれば、それは非常に感謝しています。前もって感謝します。HTMLフォームがMYSQLデータベースに送信されない
HTML
<form id="signupField" action="register.php" method="post">
First Name:<br>
<input type="text" name="FN" size="auto"/><br>
Last Name:<br>
<input type="text" name="LN" size="auto"/><br>
Street Address:<br>
<input type="text" name="SA" size="auto"/><br>
City:<br>
<input type="text" name="City" size="auto"/><br>
State:<br>
<input type="text" name="ST" size="auto"/><br>
Zip:<br>
<input type="text" name="Zip" size="auto"/><br>
Email Address:<br>
<input type="text" name="Email" size="auto"/><br>
Password:<br>
<input type="text" name="Password" size="auto"/><br>
<input type="submit" value="submit" name="submit"/>
</form>
参考にPHP:このエラーを見つけた後
<?php
$hostname = "localhost";
$username = "serviceaccount";
$password = "password";
$dbname = "nameofdb";
$conn = new mysqli($hostname,$username,$password,$dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
<?php
$FName=$_POST["FN"];
$LName=$_POST["LN"];
$SA=$_POST["SA"];
$City=$_POST["City"];
$State=$_POST["ST"];
$Zip=$_POST["Zip"];
$Email=$_POST["Email"];
$Password=$_POST["Password"];
if (isset($_POST["submit"])) {
$sql = "INSERT INTO Customers(FName,LName,StreetAddress,City,State,Zip,Email,Password) VALUES('$_POST["FN"]','$_POST["LN"]','$_POST["SA"]','$_POST["City"]','$_POST["ST"]','$_POST["Zip"]','$_POST["Email"]','$_POST["Password"]')";
if ($conn->query($sql) === TRUE) {
echo "<script type= 'text/javascript'>alert('New record created successfully');</script>";
} else {
echo "<script type= 'text/javascript'>alert('Error: " . $sql . "<br>" . $conn->error."');</script>";
}
$conn->close();
}
}
?>
EDIT:接続に失敗しました:不明なMySQLサーバのホストが 'localhostの:3306'(0)私は解決することができましたデータベースへの接続の問題。今ではPHPの残りの部分を入れても、私は500エラーを受け取ります。それは間違いなく問題がどこにあるかを絞り込んでいます!
EDITここにお手伝いいただき、ありがとうございます。主な問題はSQL接続でした。私がそれを取った後、私は私が受け取っていた他の内部エラーの原因だった場所に余分なブラケットを持っていることがわかった。
詳細については、Apacheのerror_logファイルのファイルを確認してください。また、データをデータベースに格納する方法も危険です。 – mmta41
あなたは挿入クエリがおそらくあなたの問題を引き起こしていると思いますが、POST値を変数に割り当てていますが、クエリでは変数を使用せずに$ _POSTデータを挿入します。また、SQLインジェクションに対して非常に脆弱になります。mysqliの構文を使用してください。https://www.w3schools.com/php/php_mysql_prepared_statements.asp – PhilS