테스트 사이트 - 개발 중인 베타 버전입니다

간단한 DB등록 및 확인 여부.. 에러 못찾겠어요 ㅠㅠ 채택완료

작은앙심 4년 전 조회 2,172

서버 환경은

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개

채택된 답변
+20 포인트
4년 전

먼저 에러의 상세내용이 출력되도록 해서 어떤 라인에서 어떤 에러인지를 확인하는 것이 좋습니다. https://ohdaldal.tistory.com/11

 

 

->

 

error_reporting(E_ALL); ini_set('display_errors', '1'); include('db.php'); $action = $_GET['action'];

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

작은앙심
4년 전
알기쉽게 설명해 주셔서 감사합니다 해당 코드로 확인을 해봤더니

db.php 부분에 마지막 부분. printf 인데... print 라고만 적었네요;;
" F " 이거 하나 빠져서 하루 내내 고생을 했습니다...

다시 한번 초보자를 위해 알기쉽게 설명해 주셔서 감사합니다!

댓글을 작성하려면 로그인이 필요합니다.

https://sir.kr/qa/405998?stx=htaccess&sst=wr_num&unanswered=0&s_tag=

위 링크 참조하셔서,

 일단 php가 출력하는 메시지를 확인해 보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

작은앙심
4년 전
해당 링크를 보아도 해결 방안이 무엇인지 잘 모르겠습니다..

아래 소스로는 실행이 잘 되는데 흠... 도움이 될만한게 있을까요/

[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]
엑스엠엘
4년 전
.htaccess 파일을 수정하는 겁니다.
페이지에 있는 링크 다 보시기 바랍니다.
작은앙심
4년 전
엑스엠엘님 답변 감사합니다. 제가 조금 더 이해력이 좋았더라면 바로 해결할 수 있는 부분이였는데 해당 글로는 바로 이해를 하지 못해서 많이 아쉽습니다 ㅠㅠ

db.php 부분의 마지막 부분. printf를 print로 적어서 에러가 났더라고요 ..
지식이+1 증가한 것 같습니다. 다시 한번 조언 감사드립니다.
엑스엠엘
4년 전
개발하는 동안에는 계속 php 에러 메시지를 봐야 합니다.
.htaccess 에서 php error flag를 조정하세요.
작은앙심
4년 전
네 조언을 해주신데로 참고하여 해당 문제가 다시 발생하지 않도록 적용해 보도록 하겠습니다 ^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인