나는 이것을 몇 시간 동안 작동 시키려고 노력 해왔다. 내 코드에서 문제를 찾을 수 있는지 확인하기 위해 여기에서 많은 스레드를 조사했습니다. PHP를 처음 사용하고 내부 서버 오류가 계속 발생하지만 추적 할 수 없습니다. 나는 이것이 운없이 작동하도록 온라인에서 제안 된 모든 종류의 방법을 시도했습니다. PHP 파일의 HTML로 된 기본 사용자 등록 양식입니다. (동일한 파일에서 html과 php를 모두 수행하려고했지만 작동하지 못했습니다) 아이디어는 양식을 내 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 연결이었습니다. 내가 그것을 처리 한 후에, 나는 내가받은 다른 내부 오류의 원인이되는 여분의 브래킷이 제자리에 있음을 발견했습니다.
먼저, "기본 점검"질문 : form과 register.php가있는 html이 같은 디렉토리에 있습니다. 맞죠? 포함하지 않음, 필요 등
아파치 error_log에 액세스 할 수있는 경우 먼저 확인하여 표시되는 오류 메시지를 확인하십시오. 이해할 수없는 경우 여기에 게시하여 도움을 받으십시오.
파일에 액세스 할 수없는 경우 먼저 실수가있는 곳을 찾아야합니다. 아이디어로 register.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";
?>
에 도착 [yourdirectory] /register.php // : HTTP 직접 당신이 무엇을 얻을 참조하십시오. 그런 다음 나머지 단계를 단계적으로 추가하고 실수가 있으면 알려주십시오.
확인해야 할 다른 생각은 데이터베이스 NULL 변수 구성입니다. 모든 열이 null 값을 허용합니까? 모든 양식 필드를 채우고 있습니까? 아니면 필드를 비워 두십니까?
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다