Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
PHP7 ,PHP5 버전 그누보드5 문제인지 이해가 안가네요

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

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

QA

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

답변 2

본문

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로 작성시에는  공백과 보이지 않는 특수문자를 기억하자!

 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로