1

주제: 냐하.. php하나만 질문할게요..ㅠ

php 책 본지 1년이 넘어가지만..

지금, 이전에 보신 메뉴얼을 tattersite에 올려두었습니다.
근데 테마기능이 작동을 안하는게..
테마를 변경해주는 thema.php 파일에

theme.php?sitetheme=theme1

이렇게 넘겨받으면 자꾸 "테마적용오류" 만 뜨는게..
제 부족한 머리로 쫘낸 분석결과는..
$sitethema 에 thema1 값이 안들어가는것 같아 그런것 같습니다.
아래는 thema.php 코드입니다.

<?
 if ( ($sitetheme == 'theme1') || ($sitetheme == 'theme2') || ($sitetheme == 'theme3') || ($sitetheme == 'theme4') ) {
 SetCookie ("theme",$sitetheme,time()+2592000,"/",".tattersite.com");
 $org_url = getenv("HTTP_REFERER");
 HEADER ("Location: $org_url");
} else echo "테마적용오류";
?>

이게 제 계정에선 잘 되던거였거든요.
tattersite로 옮기고나선 안되네요.

텍스트큐브를 이용하시다 불편하신 점 있으시면 아래로 연락주세요.
Needlworks/TNF - LonnieNa
nateon : y12x2 (a.t) nate.com / mail : lonniena (a.t) needlworks.org
http://twitter.com/@textcube

2

답글: 냐하.. php하나만 질문할게요..ㅠ

설마 $_GET['sitetheme'] 로 안받았다던지~

3

답글: 냐하.. php하나만 질문할게요..ㅠ

Peris 작성:

설마 $_GET['sitetheme'] 로 안받았다던지~

우~ 이렇게 하니 쿠키는 구워지네요.

Name    theme
Value    theme1
Host    tattersite.com
Path    /
Secure    No
Expires    2006년 12월 3일 일요일 오전 9:28:37

근데 메인 index.php에서 구워진 쿠키가 안읽혀지는..=_+
저 Value의 thema1값을 읽어오려면 어찌해야하죠? ㅜ

잘 되던게 안되니 답답할따름..

LonnieNa (2006-11-03 09:56:51)에 의해 마지막으로 수정

텍스트큐브를 이용하시다 불편하신 점 있으시면 아래로 연락주세요.
Needlworks/TNF - LonnieNa
nateon : y12x2 (a.t) nate.com / mail : lonniena (a.t) needlworks.org
http://twitter.com/@textcube

4

답글: 냐하.. php하나만 질문할게요..ㅠ

쿠키는 $_COOKIE['theme'] ~~

PHP 설정에서 register_globals가 off로 되어있으면 전부 저런식($_GET, $_POST, $_SERVER, $_SESSION, $_COOKIE 등등)으로 받아야 한답니다.
(참고로 최근 PHP의 기본 설정은 off임)

... 근데 갑자기 왠 PHP 강좌가.. T_T

5

답글: 냐하.. php하나만 질문할게요..ㅠ

Peris 작성:

쿠키는 $_COOKIE['theme'] ~~

PHP 설정에서 register_globals가 off로 되어있으면 전부 저런식($_GET, $_POST, $_SERVER, $_SESSION, $_COOKIE 등등)으로 받아야 한답니다.
(참고로 최근 PHP의 기본 설정은 off임)

... 근데 갑자기 왠 PHP 강좌가.. T_T

아..  register_globals 이게 변수 군요!
고맙습니다.

텍스트큐브를 이용하시다 불편하신 점 있으시면 아래로 연락주세요.
Needlworks/TNF - LonnieNa
nateon : y12x2 (a.t) nate.com / mail : lonniena (a.t) needlworks.org
http://twitter.com/@textcube

6

답글: 냐하.. php하나만 질문할게요..ㅠ

이왕 강좌 분위기 된 김에.. 조금 덧붙이자면;

되도록 register_globals = off 를 전제하고 코드를 짜시는 것이 좋습니다. 처음에 습관들이기가 뭣해서 그렇지, 익숙해지고 나면 나중에 코드 알아보기도 쉽고 (이게 쿠키값인지, POST값인지..), 서버의 register_globals 설정 차이로 곤란해지는 일은 없게 됩니다 smile

정~ 일일히 써주시기 귀찮다면 이렇게 취급하는 방법도 있습니다.
foreach($_COOKIE as $key=>$value) { ${$key} = $value; }
이걸 첫 줄에 넣어두면  $_COOKIE['theme'] = 'asdf'; 가 $theme = 'asdf'; 가 됩니다.
다만 이것은 잠깐 편리하긴 하지만 썩 좋은 방법은 아닙니다. (여러가지 측면에서..)

앞에서도 말씀드렸던 것 처럼 register_globals = off 환경을 전제로 제대로!
변수를 써주시는 습관을 들이시는게 좋습니다 smile

7

답글: 냐하.. php하나만 질문할게요..ㅠ

laziel 작성:

foreach($_COOKIE as $key=>$value) { ${$key} = $value; }

조~금 더 붙이면;;

요건 extract($_COOKIE); 로 써도 되요. smile