Daybreakin Things

Posted
Filed under 컴퓨터
관리자 모드나 뭐 그런 건 도저히 못 건드리겠고..
일단 외부 사용자들에게 보여지는 부분들은 HTML 4.01 Transitional 표준에 맞추는 데 성공했다.

가장 큰 문제는 PHPSESSID가 붙을 때 "&"이었는데 그건 토끼군이 알려준 대로 ini_set('arg_separator.output','&_amp;');를 함으로써 해결했다. (&과 amp; 사이의 밑줄은 태터 파서의 해석을 막기 위한..-_-)

이 작업을 하면서 가장 황당했던 것은, 스킨에 들어있던
<img width=1 height=1> 라는 코드였다. alt를 빼먹은 것까진 봐주더라도 src조차 없는 img 태그라니... orz

아무튼 이렇게 해서 성공이다.
(방명록 등도 곧 validation할 예정.)

주요 수정 목록 :
- 스킨 : src와 alt 없는 img 태그 모두 수정. 스타일시트에서 단위 빠진 것들 모두 넣음. table 태그에서 cellspacing이나 cellpadding이 중복되지 않게 하며 모두 스타일시트로 구현. textarea의 cols 속성 빠진 것 넣기. html element 중 attribute에 quot 빠진 것들 넣음(특히 자바스크립트나 링크).
- index.php에서 include 뒤에 ini_set('arg_separator.output','&_amp;'); 붙임으로써 PHPSESSID에 의한 validation 오류 제거
- inc_function.php에서 키워드 링크 거는 부분(set_keyword 함수)에서 자바스크립트에 quot 안 붙어 있던 것 수정
- inc_function.php에서 트리 출력 코드에서 table의 cellspacing 및 cellpadding 중복 수정, tag style 중 color에 # 빠진 것 넣음.

css에서 원래는 sans-serif 같은 alternative general font family를 지정해야 하지만 그건 귀찮은 관계로.. 에디터 매크로 같은 거 만들어서 돌리면 금방 될 듯하다.
Posted
Filed under 컴퓨터
내 홈페이지의 sparcs 분점을 만들면서 XHTML 1.1와 CSS 표준을 모두 만족시켰다. (본점의 대문도 마찬가지)

그런데 태터툴즈는 이미 validation result를 익히(....) 알고 있던 터라 손을 못 대고 있었는데 마음 먹은 김에 확 해 보기로 했다.

이것저것 삽질 끝에...
(img 태그에 alt 붙이고, 심지어 src가 없는 img가 난무하기도 했으며, cellspacing을 모두 없애고 css로 대체.. px 단위가 빠진 좌표며, #을 빠뜨린 색상 지정 등등...)
한가지, 그리고 가장 고치기 어려운 에러가 하나 남았다.

무엇인고 하니...
Line 115, column 51: reference to entity "PHPSESSID" for which no system identifier could be generated

...="index.php?ct1=3& amp;ct2=6&PHPSESSID=18d5d8e585fb3012b9ca22e5ee4c15af">

This is usually a cascading error caused by a an undefined entity reference or use of an unencoded ampersand (&) in an URL or body text. See the previous message for further details.

#

Line 115, column 41: entity was defined here

... <a href="index.php?ct1=3& amp;ct2=6&PHPSESSID=18d5d8e585fb3012b9ca22e5ee4c1

OTL...

W3C 표준에 따르면, ampersand 문자는 entity를 정의하는 데 사용되기 때문에 URL 및 HTML 내부에서는 & amp;로 대체해서 써야 한다. 그런데 php에서 세션 관리를 통해 자동으로 붙는 PHPSESSID가 저렇게 넘어갔더라는 것이다. 문제는, 소스 코드에는 아무 하자가 없는데(굉장히 꼬여 있긴 하지만 -_-) validator로 넘어가면 저렇게 php seesion id가 붙어버린다는 것.

이 문제는 더이상 내가 아는 범위로는 해결이 불가능하다. 누가 좀 알려주시면....ㅜ_ㅠ;;

ps. 표준에 맞추려다 보니 트리 출력 부분 때문에 어쩔 수 없이 태터 소스코드에 손을 대야 하더라..orz