간단한 DB등록 및 확인 여부.. 에러 못찾겠어요 ㅠㅠ 채택완료
서버 환경은
php8 + mariadb10 + nginx + 우분투20 입니다
db.php (DB접속 부분은 임의로 수정해서 작성한 겁니다)
</span></p>
<p><?php</p>
<p>$host = "localhost";
$user = "유저";
$pass = "비밀번호";
$data = "데이터베이스";</p>
<p>$con = new mysqli($host, $user, $pass, $data);</p>
<p>if($con->connect_errno)
{
print("Connect failed: %s\n", $con->connect_errno);
}
?></p>
<p>
handler.php
</p>
<p><?php</p>
<p>include('db.php');</p>
<p>$action = $_GET['action'];</p>
<p>$ID = $con->real_escape_string($_GET['ID']);
$PASSWORD = $con->real_escape_string(md5($_GET['PASSWORD']));</p>
<p>if(!$action)
{
echo "Please enter an action.";
}
else
{
if($action == "register")
{</p>
<p> if($query = $con->query("INSERT INTO Register2 (ID,PASWORD) VALUES ('$ID','$PASSWORD')"))
{
echo "1";
}
else
{
echo "0";
}
}
else if($action == "login")
{
$query = $con->query("SELECT * FROM Register2 WHERE ID ='$ID' and PASSWORD = '$PASSWORD'");
$cnt = $query->num_rows;</p>
<p> if($cnt > 0)
{
echo "1";
}
else
{
echo "0";
}
}
else
{
echo "Invalid action.";
}
}</p>
<p>?></p>
<p>
위와같이 작성을 하고 사이트에
/handler.php?action=register&ID=admin&PASSWORD=123test
등록 요청을 하는데
지금 이 페이지가 작동하지 않습니다.
사이트.com이(가) 현재 해당 요청을 처리할 수 없습니다.
HTTP ERROR 500
해당 에러를 보내는 걸까요... 문법이 틀린건지 오타 인건지 암만봐도 틀린게 없는데 말이죠..ㅠㅠ
매의 눈으로 고수님들의 조언을 부탁드립니다..
답변 2개
먼저 에러의 상세내용이 출력되도록 해서 어떤 라인에서 어떤 에러인지를 확인하는 것이 좋습니다. https://ohdaldal.tistory.com/11
->
error_reporting(E_ALL); ini_set('display_errors', '1'); include('db.php'); $action = $_GET['action'];
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
https://sir.kr/qa/405998?stx=htaccess&sst=wr_num&unanswered=0&s_tag=
위 링크 참조하셔서,
일단 php가 출력하는 메시지를 확인해 보세요.
답변에 대한 댓글 5개
아래 소스로는 실행이 잘 되는데 흠... 도움이 될만한게 있을까요/
[code]
<?php
$ID= $_GET['ID']; #ID값 받아오기
$PASSWORD = $_GET['PASSWORD']; #PW값 받아오기
$DATE = $_GET['DATE'];
$EMAIL = $_GET['EMAIL'];
$WIN_V = $_GET['WIN_V'];
$C_NAME = $_GET['C_NAME'];
$SEX = $_GET['SEX'];
$AGE = $_GET['AGE'];
$IP = $_GET['IP'];
$servername = "localhost"; #서버HOST이름
$username = "유저";
$password = "비밀번호";
$dbname = "데이터베이프"; #데이터베이스 이름
$conn = new mysqli($servername, $username, $password, $dbname); #MYSQL접속 부분
if ($conn->connect_error) { #접속에 오류가 있으면
die("Connection failed: " . $conn->connect_error); #ERROR를 출력
}
{
$sql = "INSERT INTO Register (ID, PASSWORD, DATE, EMAIL, WIN_V, C_NAME, SEX, AGE, IP)
VALUES ('$ID', '$PASSWORD', '$DATE', '$EMAIL', '$WIN_V', '$C_NAME', '$SEX', '$AGE', '$IP')"; #ID와PW값을 테이블 칼럼값으로 대입
}
if ($conn->query($sql) === TRUE) { # 성공적으로 대입이 완료하면
echo "New record created successfully"; # 성공메세지 출력
} else { #아니면 (실패하면)
echo "Error: " . $sql . "<br>" . $conn->error; #ERROR 메세지 출력
}
$conn->close(); # 접속 종료
?>
[/code]
페이지에 있는 링크 다 보시기 바랍니다.
db.php 부분의 마지막 부분. printf를 print로 적어서 에러가 났더라고요 ..
지식이+1 증가한 것 같습니다. 다시 한번 조언 감사드립니다.
.htaccess 에서 php error flag를 조정하세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
db.php 부분에 마지막 부분. printf 인데... print 라고만 적었네요;;
" F " 이거 하나 빠져서 하루 내내 고생을 했습니다...
다시 한번 초보자를 위해 알기쉽게 설명해 주셔서 감사합니다!