PHP7 ,PHP5 버전 그누보드5 문제인지 이해가 안가네요

PHP7 ,PHP5 버전 그누보드5 문제인지 이해가 안가네요

QA

PHP7 ,PHP5 버전 그누보드5 문제인지 이해가 안가네요

본문

Fatal error: Call to undefined function    alert() in D:\APM_Setup\htdocs_aegook.or.kr\gbyc531_www.tar\www\c.php on line 10

c.php최초오류 c.php?id=admin 하면 잘되는데 없는 아이디 id=adminx 하면 오류남. ( 신기 ).

APM_setup 은 버전 PHP Version 5.2.12


<?php
include_once("./_common.php");
$chuid = "$id";
if ($chuid){
 $mb_id = trim($chuid);
 $mb = get_member($mb_id);
 if (!$mb[mb_id])
    alert("추천인이 가입된 회원이 아닙니다.", "$g5[path]/bbs/register.php");//<<id없는거 넣으면 여기에러남

 set_cookie('Cook_chu_id', $chuid, 86400);
 alert("$chuid 님이 추천하였습니다.", "$g5[path]/bbs/register.php");
} else {
 alert("추천인 아이디가 없습니다.\\n\\nhttp://www.aegook.or.kr/c.php?id=추천인아이디\\n\\n위의 형식이어야 추천인 혜택이 있습니다.", "$g5[path]/bbs/register.php");
}
?>

 

 

신기하게도 PHP Version 7.0.0p1 (cafe24 호스팅)

 define('G5_VERSION', '그누보드5');
define('G5_GNUBOARD_VER', '5.3.1.3');
define('G5_YOUNGCART_VER', '5.3.1.3');

 

alert()함수가 정의안되었다고 나옵니다. 그래서 alert1()으로 이름바꿔  정의 아래와같이 했느데 동일 오류남.

/c.php 파일에서 alert()를 호출시 에러남.

/lib/common.lib.php  요기에 명시되있거늘..~ php7.0의 버그인듯한데..

어떤 버그인지를 알고 써야할듯하여 아시는분 한수 부탁들립니다.

 

 

Fatal error: Uncaught Error: Call to undefined function    alert1() in /yyy_aegook/www/c.php:32 Stack trace: #0 {main} thrown in /yyy_aegook/www/c.php on line 32

 

c.php파일


<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

include_once("./_common.php");

// 경고메세지를 경고창으로
function alert1($msg='', $url='', $error=true, $post=false)
{
    global $g5, $config, $member;
    global $is_admin;
    $msg = $msg ? strip_tags($msg, '<br>') : '올바른 방법으로 이용해 주십시오.';
    $header = '';
    if (isset($g5['title'])) {
        $header = $g5['title'];
    }
    include_once(G5_BBS_PATH.'/alert.php');
    exit;
}

$chuid = "$id";
if ($chuid){
 $mb_id = trim($chuid);
 $mb = get_member($mb_id);
 if (!$mb[mb_id]){
    alert1("추천인이 가입된 회원이 아닙니다.", "$g5[path]/bbs/register.php");  // <<최초 여기 에러가남.신기 분명 alert()가 정의 되어있었음.
 }
 
 set_cookie('Cook_chu_id', $chuid, 86400);
 alert1("$chuid 님이 추천하였습니다.", "$g5[path]/bbs/register.php"); 
} else {
 alert1("추천인 아이디가 없습니다.\\n\\nhttp://www.aegook.or.kr/c.php?id=추천인아이디\\n\\n위의 형식이어야 추천인 혜택이 있습니다.", "$g5[path]/bbs/register.php");// <<여기 에러 위에 정의했거늘.
}
 

?>

이 질문에 댓글 쓰기 :

답변 2

찾았음^^

아래코드를 보시면.. 공백으로 보이는 특수문자가 있습니다.

복사붙여넣기하면서 보이지 않는 특수문자가 앞에 있어서  그게 함수명으로 포thumb-3542389846_1528403939.4227_730x436.png함되어서 였음.

 

<?php

include_once("./_common.php");

$chuid = "$id";
function alert1($msg,$go){
 echo "<script>
 alert('$msg');
 location.href='$go';
 </script>";
 exit;
}
if ($chuid){
 $mb_id = trim($chuid);
 $mb = get_member($mb_id);
 if (!$mb[mb_id]){
    alert1("추천인이 가입된 회원이 아닙니다.", "$g5[path]/bbs/register.php");
 }
 
 set_cookie('Cook_chu_id', $chuid, 86400);
 alert1("$chuid 님이 추천하였습니다.", "$g5[path]/bbs/register.php");
} else {
 alert1("추천인 아이디가 없습니다.\\n\\nhttp://www.aegook.or.kr/c.php?id=추천인아이디\\n\\n위의 형식이어야 추천인 혜택이 있습니다.", "$g5[path]/bbs/register.php");
}
?>[/code]


<?php
function te   st(){
 echo "te   st()";
}
te   st();
 

결과는 아래아같이 함수가 실행된다.. 이 보이지 않는 문자가 앞에있어서였다.  흐~

te혻혻혻st()

---

앞에 헤더에<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">를 넣으면

결과가아래와같이 나온다.

 

te   st()

 

-----------  ! php5,7 UTF8로 작성시에는  공백과 보이지 않는 특수문자를 기억하자!

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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