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

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

QA

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

본문

서버 환경은

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

먼저 에러의 상세내용이 출력되도록 해서 어떤 라인에서 어떤 에러인지를 확인하는 것이 좋습니다. 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'];

알기쉽게 설명해 주셔서 감사합니다 해당 코드로 확인을 해봤더니

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

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

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

위 링크 참조하셔서,

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

해당 링크를 보아도 해결 방안이 무엇인지 잘 모르겠습니다..

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


<?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(); # 접속 종료
?>

엑스엠엘님 답변 감사합니다. 제가 조금 더 이해력이 좋았더라면 바로 해결할 수 있는 부분이였는데 해당 글로는 바로 이해를 하지 못해서 많이 아쉽습니다 ㅠㅠ

db.php 부분의 마지막 부분. printf를 print로 적어서 에러가 났더라고요 ..
지식이+1 증가한 것 같습니다. 다시 한번 조언 감사드립니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,128 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT