서버 환경은
php8 + mariadb10 + nginx + 우분투20 입니다
db.php (DB접속 부분은 임의로 수정해서 작성한 겁니다)
<?php
$host = "localhost";
$user = "유저";
$pass = "비밀번호";
$data = "데이터베이스";
$con = new mysqli($host, $user, $pass, $data);
if($con->connect_errno)
{
print("Connect failed: %s\n", $con->connect_errno);
}
?>
handler.php
<?php
include('db.php');
$action = $_GET['action'];
$ID = $con->real_escape_string($_GET['ID']);
$PASSWORD = $con->real_escape_string(md5($_GET['PASSWORD']));
if(!$action)
{
echo "Please enter an action.";
}
else
{
if($action == "register")
{
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;
if($cnt > 0)
{
echo "1";
}
else
{
echo "0";
}
}
else
{
echo "Invalid action.";
}
}
?>
위와같이 작성을 하고 사이트에
/handler.php?action=register&ID=admin&PASSWORD=123test
등록 요청을 하는데
지금 이 페이지가 작동하지 않습니다.
사이트.com이(가) 현재 해당 요청을 처리할 수 없습니다.
HTTP ERROR 500
해당 에러를 보내는 걸까요... 문법이 틀린건지 오타 인건지 암만봐도 틀린게 없는데 말이죠..ㅠㅠ
매의 눈으로 고수님들의 조언을 부탁드립니다..
답변 2개 / 댓글 6개
먼저 에러의 상세내용이 출력되도록 해서 어떤 라인에서 어떤 에러인지를 확인하는 것이 좋습니다. https://ohdaldal.tistory.com/11
<?php
include('db.php');
$action = $_GET['action'];
->
<?php
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 " 이거 하나 빠져서 하루 내내 고생을 했습니다...
다시 한번 초보자를 위해 알기쉽게 설명해 주셔서 감사합니다!