我一直試圖讓這個工作幾個小時。我在這裏研究了許多線程,試圖查看是否可以用我的代碼找到問題。我是PHP新手,不斷收到內部服務器錯誤,但我似乎無法跟蹤它。我嘗試了各種方法建議在線獲得這個沒有運氣的工作。它是一個基於HTML的基本用戶註冊表單,在一個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();
}
}
?>
編輯發現這個錯誤後:連接失敗:未知MySQL服務器主機的 'localhost:3306'(0)我是能夠解決連接問題到數據庫。現在,當我把剩下的PHP放回去時,我仍然得到500錯誤。它絕對會縮小問題的範圍!
編輯我要感謝大家的幫助,你就在這裏。主要問題是SQL連接。我得到了照顧後,發現我有一個額外的托架,這是我收到的其他內部錯誤的原因。
檢查apache的error_log中文件的文件。您將數據放入數據庫的方式也非常危險。 – mmta41
您插入查詢可能會導致您的問題,再加上您將POST值分配給變量,但在您的查詢中,您不使用變量並插入$ _POST數據。這也讓你非常容易受到SQL注入的攻擊,使用mysqli prepare語法https://www.w3schools.com/php/php_mysql_prepared_statements.asp – PhilS