채팅방id가 숫자만으로 되면
"~~님이 입장하셨습니다" 라는 문구가 계속 반복되는 문제가 있었습니다.
....
$_SESSION[$id] 라는 것에 그 채팅방에 입장순번을 담아서
그 사람을 특정하고 있었습니다.
그래서 $$id = "_".순번; 이렇게 채팅방id자체를 변수로 만들어서,
session_register($id); 이렇게 등록하는데,,,,
예를들어 채팅방id가 1234라면,
$$id 가 $1234가 되어서,,, 변수가 성립하지 않는 문제였던거 같습니다.
(아마 $다음 첫글자가 숫자면 안되던가,,?? 였던걸로 기억납니다.)

그래서 자꾸 $_SESSION[$id]가 풀리면서
닉네임은 있되, 그 방에 새로 입장한 사람으로 판단하고
계속 "입장하셨습니다"라는 문구를 띄운 것입니다.

-- 그래서
$xd = "_".$id;
$$xd = "_".순번;
session_register($xd);
이렇게 바꾸고,
$_SESSION[$id] 대신에 $_SESSION["_".$id]로 호출하도록 바꿨습니다.
(요런거 할줄 몰랐는데, 필요해서 해보니까 되는군요)
더불어서 채팅방개설자를 구분하는 세션값도
비슷한 과정으로 조금 변동을 줬습니다.

채팅방id가 숫자라도, 변수로 쓸때는 앞에 "_" 이게 위치하니까
이제 에러가 안납니다.


mysql 안쓰고, php파일 하나로 돌아갑니다.
압축풀어 폴더채로 업로드하고, chat폴더권한 777주고(설치끝),
index.php에 접속해서 사용하면 됩니다.
by Anna 안나 2008. 5. 26. 18:06