다른 구조의 폴더에 php를 적용시키는 방법

다른 구조의 폴더에 php를 적용시키는 방법

QA

다른 구조의 폴더에 php를 적용시키는 방법

본문

안녕하세요~ 제목 그대로 다른구조에 php를 적용시키려 합니다.

 

구조설명

ftp에 올라와져있는 구조 www라는 최상위 폴더 내에 있는 폴더A에

common.php, _common.php, head.php 등 그누보드 기반 파일들이 있구요

A와 동등한 위치에 홈페이지를 제작한 폴더 B가 있습니다.

이럴경우 폴더B 하위 페이지들에 common.php 등이 적용이 안되는건가요?

 

지금 B의 세부 페이지들에 비회원 접근시 로그인 alert 및 로그인페이지 이동하게 하려고 하는데.. 이런저런 방법을 써도 전혀 안먹어서 질문 올립니다.

 

전일 질문을 올려 답글을 주셔서, 

extend 폴더 내에 user.config.php 에

 

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

if( !$is_member &&  strpos($_SERVER['PHP_SELF'], "login") === false &&  strpos($_SERVER['PHP_SELF'], "register") === false && strpos($_SERVER['PHP_SELF'], "password") === false)

alert("로그인 하세요", G5_BBS_URL."/login.php");

?> 

이부분을 추가해, 몇몇 페이지(A폴더 내)에는 잘 작동하고 있습니다.

 

기존 제작해준 개발자가 연락이 안되어, 일반 회사원인데 찾아보며 해보려는 중입니다ㅠ 답글 주시면 감사하겠습니다~!

이 질문에 댓글 쓰기 :

답변 3

/www/a/common.php , head.php , _common.php 등이 있는걸로 봐서는 /www/a/ 여기가 그누보드 설치 폴더입니다.

헌데,

/www/b/ 이곳의 페이지에 회원접근만 허용하시려는 것인지요?

그렇다면

/www/b/_common.php를 만드시고

내용은
 

<?php
include_once('../a/common.php'); 
?>

작성하신 다음 

회원만 접근가능 페이지 최상단에

 

<?php
include_once('./_common.php');

?>

삽입하시고 로그인 체크 하시면 됩니다.

 

 

 

 

 

 

유찬아빠 / 답글 감사합니다!

작성해주신대로 해보긴 했는데.. common.php만 불러서는 로그인상태 체크가 안되는것인지.. 아니면 php 경로를 잘못한건지 반응이 없네요

테스트 해본다고 기존 A폴더의 common.php를 로그인 alert 뜨게 바꿔봤더니 A폴더의 페이지들은 변화가 있는데 B폴더의 페이지들은 그대로입니다ㅠ
혹시 common.php 외 다른것도 불러와야될까요?ㅠ

a 폴더의 common.php를 불러오는것이 아니라

/www/b/_common.php를 만드시고

내용은
 

<?php
include_once('../a/common.php');
?>

이렇게 하시고

만약 회원만 접근하는 페이지가  예로 /www/b/mem.php 라면

내용은 상단에

<?php
include_once './_common.php';

if(!$is_member) alert('회원만 이용가능합니다.' ,  G5_BBS_URL.'/login.php?url='.urlencode('/b/mem.php'));

include_once G5_PATH . '/_head.php';

?>

본문 내용


<?php

include_once G5_PATH . '/_tail.php';
?>

이렇게 구성하시면 된다는 말씀 입니다.

친절한 답변에 아직 해결은 못했지만 채택했습니다!

php, 개발 이쪽 완전 문외한이라 그런데..
방금 달아주신 댓글중

'만약 회원만 접근하는 페이지가  예로 /www/b/mem.php 라면
내용은 상단에

<?php
include_once './_common.php';

if(!$is_member) alert('회원만 이용가능합니다.' ,  G5_BBS_URL.'/login.php?url='.urlencode('/b/mem.php'));

include_once G5_PATH . '/_head.php';
?> '

이 부분요.. mem.php와 같이 php 페이지에만 common.php 가 적용되는 건가요? html이나 htm 상단에 include 하면 안되나요?
적용하려는 페이지들이 전부 html 이라..

네 감사합니다
아직 해결은 못했는데.. 한가지만 더 여쭤볼게요!

그누보드가 설치된 A폴더로, B폴더에 있는 페이지들을 복사해 그대로 구현했는데요..

구현하고 싶은 페이지(abc.php)가

A > 하위1폴더 > 하위2폴더 > abc.php 에 위치해있습니다

A폴더내 _common.php, common.php 등이 있구요

현재 A폴더 하위 bbs 폴더의 login.php, write.php(문의게시판) 등은 비회원 접근시 로그인 페이지로 잘 넘어가지는데
옮긴 abc.php는 _common.php를 불러도 비회원 인식을 못하더라구요.

include_once('/A/_common.php');

이거 외에 다른 파일들도 불러와야될까요?

폴더내의 _common.php 는 그누폴더의 common.php 의 위치를 선언하는 겁니다.
그러므로 A > 하위1폴더 > 하위2폴더 > abc.php 라면
해당 폴더의 _common.php 내용은

<?php
include_once('../../common.php');
?>

이럭식으로 작성을 해야 하며

abc.php 상단에는

include_once './_common.php'; 

이렇게 들어가야 맞습니다.

www/a/그누보드루트

www/b/에서 a그누보드 기능 이용을 원하는 거라면

 

b/_common.php 생성, 내용은

<?php

include_once('../a/common.php');

?>

만드시고

 

b/아무파일명.php 파일 상단에

include_once './_common.php';

include_once G5_PATH . '/_head.php';

?>

본문내용

<?php

include_once G5_PATH . '/_tail.php';

 

 

이렇게 하시면 될겁니다.

 

회원 비회원 구분은

if(!$is_member){

//비회원

}

또는

if(!$member['mb_id']){

//비회원

}

이런식으로 구분해보세요.

댓글 감사합니다!
아무파일명php 이파일에

<?php
include_once './_common.php';
include_once G5_PATH . '/_head.php';
?>

<?php
include_once G5_PATH . '/_tail.php';
?>

위처럼 작성하면 되는건가요?

그리고 추가 하자면

user.config.php 

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

if( !$is_member &&  strpos($_SERVER['PHP_SELF'], "login") === false &&  strpos($_SERVER['PHP_SELF'], "register") === false && strpos($_SERVER['PHP_SELF'], "password") === false)

alert("로그인 하세요", G5_BBS_URL."/login.php");

?> 

 

위의 내용이 로그인 페이지 또는 회원가입 , 비번찾기 를 제외한 모든 페이지는 로그인 하라고 하는데

저건 좀 우려스러운게 비회원도 보아야 할 페이지도 막힐수 있다는 점입니다.

 

--그누설치폴더 내에 컨텐츠 페이지나 하위 폴더를 생성 하셔서 페이지를 관리하시는 것을 추천합니다.

 

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

회원로그인

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