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

index.php에 api넣은 후 http error 500이 되었습니다. 해결방법이 있을까요?

식짐 1년 전 조회 2,760

안녕하세요. crm프로그램 연동하기 위해서 

 

ftp서버 index.php 파일에 api코드를 만들어 넣었습니다.

하지만 홈페이지에서 특정버튼(상담신청)을 누르게 될 경우 http error 500이라는 문구와 함께

오류페이지가 나타납니다.

 

내부서버 오류 때문에 나타나는 것이라고 알고 있는데

제가 작성한 코드가 문제일까요? 아니면 어떤 것이 문제일까요??

API 코드 예시

if ( $_POST['action'] == "kboard_editor_execute" ){
    $etc[] = "";
    $etc['IP'] = $_SERVER['REMOTE_ADDR']; # ip

    $data = [];
    $data["apiKey"] = "ASDF12AFE52FF13"; # 코드
    $data["csName"] = $_POST['member_display']; # 접수자이름
    $data["csTel"] = $_POST['title']; # 접수자 연락처
    $data["etc"] = json_encode($etc);# 접수자 메모

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_URL, "https://00.0000000.kr/api/requestPMDBphp");
    $res = curl_exec($ch);
    curl_close();
}

전문가님들 도와주십쇼!!

 

 

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

답변 4개

1년 전

index.php 파일에 위 코드를 넣었다는 부분이 일단 이해는 안가지만,

해당 오류라면

if(isset($_POST['action']) && $_POST['action'] == 'kboard_editor_excute')  로 수정해 주시고,

마찬가지로 if 문 안의 해당 구문도

$data["csName"] = isset($_POST['member_display']) ? $_POST['member_display'] : '' ; # 접수자이름
$data["csTel"] = isset($_POST['title']) ? $_POST['title'] : ''; # 접수자 연락처
로 수정해 주시는 게 좋을 것 같습니다.
다만, if 문을 실행하기 전에 $_POST변수들에 대한 체크를 먼저 해주시는 게 좋을 것 같네요.

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

답변에 대한 댓글 1개

식짐
1년 전
저는 index.php에 넣으면 된다고 들어서요
혹시 잘못되었다면 어디에 넣는 것이 좋을까요??

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

1년 전

index.php 파일에 api코드를 만들어 넣었습니다.<=== 이 코드가 이상하네요

index페이지에서는 어디서 전송되는 값을 받는다고 $_POST 이런 것을 사용해서 API를 만드는가요?

 

특정버튼(상담신청)을 누르게 될 경우 http error 500이라는 문구와 함께

오류페이지가 나타납니다.<=== 상담신청 누르면 이동하는 페이지가 있겠죠?

그 페이지 상단에 넣으면 에러 내용이 보입니다

 

 error_reporting(E_ALL);  ini_set("display_errors", 1);

 

 

 

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

답변에 대한 댓글 3개

식짐
1년 전
index페이지에서는 어디서 전송되는 값을 받는다고 $_POST 이런 것을 사용해서 API를 만드는가요?
저도 이야기를 듣고 넣어서 정확히는 잘 모르겠습니다..
균이
1년 전
if ( $_POST['action'] ==
이것은 어디서 전송한 ( 폼에서 보낸 ) action이라는 입력폼 값이라는 뜻입니다
저런. Post가 아래쪽에도 나오는데 도대체 저게 무엇이냐는 것입니다
저것 때문에 index페이지를 열면서부터 에러가 납니다
식짐
1년 전
kboard 라는 폼 플러그인에서 보내는 값인데
제가 위에 보여드린 코드는 crm프로그램 업체에서 직접 짜주신 거라서
정확히는 모르겠습니다 ㅜㅜ

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

1년 전

아래의 페이지를 호출하는 사이트에 오류 확인을 넣으시면 됩니다.

 

ftp서버 index.php 파일에 api코드를 만들어 넣었습니다.

하지만 홈페이지에서 특정버튼(상담신청)을 누르게 될 경우 http error 500이라는 문구와 함께

오류페이지가 나타납니다.

 

내부서버 오류 때문에 나타나는 것이라고 알고 있는데

제가 작성한 코드가 문제일까요? 아니면 어떤 것이 문제일까요??

API 코드 예시

if ( $_POST['action'] == "kboard_editor_execute" ){
    $etc[] = "";
    $etc['IP'] = $_SERVER['REMOTE_ADDR']; # ip

    $data = [];
    $data["apiKey"] = "ASDF12AFE52FF13"; # 코드
    $data["csName"] = $_POST['member_display']; # 접수자이름
    $data["csTel"] = $_POST['title']; # 접수자 연락처
    $data["etc"] = json_encode($etc);# 접수자 메모

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_URL, "https://00.0000000.kr/api/requestPMDBphp");
    $res = curl_exec($ch);
    curl_close();
}

 

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

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

플라이
1년 전

500 에러나는걸 어디서 오류 나는지 확인을 하시고자 하신다면

 

error_reporting(E_ALL);

ini_set("display_errors", 1);

 

이걸 상단에 입력해 오류를 확인후 수정하시면 되십니다.

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

답변에 대한 댓글 6개

식짐
1년 전
index.php 상단에 말씀하시는 건가요?? 말씀하신 상단은 어디인가요??
플라이
1년 전
네 index.php 파일 상단에요
식짐
1년 전
Warning: Undefined array key "action" in /도메인/www/index.php on line 21
입력하니 이렇게 나타났습니다..

제가 아직 코딩이 미숙해서 그런데 어떤 오류인지 알려주실 수 있을실까요??
플라이
1년 전
$_POST['action'] 이라는 변수가 배열로 존재하지 않는다는 오류로 확인됩니다.
식짐
1년 전
감사합니다!!
그렇다면 제가 어떻게 코드를 수정해야하는 걸까요??

이해도가 좀 떨어지는 부분 양해부탁드리겠습니다 ㅜㅜ
플라이
1년 전
데이터를 받아올때 var_dump($_POST); 로해서 해당 배열값이 존재하는지 확인하는지 확인해 보시고
그에 따라 코드를 수정해서 적용하시면 되실듯 합니다.

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

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

로그인