웹마스터 팁
page_full_width">
대화방을 만들어보쟈~
2001.06.03 07:31
대화방 만들기가 어려울것같지만 그렇지만은 않은가보죠?
제작환경(;;) : PHP 4.0.0&4.0.6dev, MYSQL (버전을 모르겠당..), 아파치 1.3.12&1.3.19
일단은 로그인 화면을 만들어야겠죠?
보통의 폼을 이용하여 $id라는 변수값으로 보내고 쿠키로 등록한뒤에 대화방 페이지로 이동합니다.
chat_1.php///////////////////
<?
if($id){
// 쿠키 설정
setcookie("chat",$id,0,"/");
// 페이지 이동
echo "<script>location.replace('chat_2.php')</script>";
}
?>
<form method=post action=<?=$PHP_SELF?>>
<input name=id>
<input type=submit value=입장>
</form>
네, 그리고 이제 본격적으로 대화방을 만들어야겠죠?
일단 mysql에 테이블을 만듭니다.
테이블 구조 ///////////////////////
no int not null auto_increment,
id varchar(20) not null,
chat varchar(255) not null,
color varchar(20) not null,
primary key(no)
채팅 상태는 <iframe>태그를 사용하고,
등록 폼은 밖에 합니다.
등록 폼에는 하는 말,그리고 색이 들어갑니다.
밖 파일(chat_2.html)///////////////////////////
<div align=center>
<iframe src=chat_2_stats.php></iframe>
<form method=post action=send_chat.php>
내용 <input name=text>
글씨색상 <select name="fontcolor" style=width:30>
<option selected value="black" style=background:black></option>
<option value="red" style=background:red></option>
<option value="yellow" style=background:yellow></option>
<option value="blue" style=background:blue></option>
<option value="navy" style=background:navy></option>
<option value="gray" style=background:gray></option>
<option value="silver" style=background:silver></option>
<option value="orange" style=background:orange></option>
<option value="gold" style=background:gold></option></select>
<input value=입력 type=submit>
</form>
</div>
안에 있는 파일은 처음엔 mysql에 연결합니다.
$conn = mysql_connect ("서버","아이디","비번");
mysql_select_db ("테이블이 있는 db");
그리고 쿼리를 보내고 데이터를 출력합니다.
echo ("<table width=100>");
$res = mysql_query ("select * from chat",$conn);
while($chat = mysql_fetch_array($res)){
echo ("<tr height=20><td width=100 bgcolor=black style=color:white>$chat[id]</td><td width=5></td><td><span style='color:$chat[color];'>$chat[text]</span></td></tr>");
}
echo ("</table>");
아참, 그리고 실시간으로 채팅하려면 이 자바스크립트가 있어야 합니다.
<script>setTimeOut("location.reload()",5000)</script>
5초에 한번씩 페이지를 새로고침 하라는 얘깁니다.
안 파일(chat_2_stat.php)////////////////////////////
<?
$conn = mysql_connect ("서버","아이디","비번");
mysql_select_db ("테이블이 있는 db");
echo ("<table width=100>");
$res = mysql_query ("select * from chat",$conn);
while($chat = mysql_fetch_array($res)){
echo ("<tr height=20><td width=100 bgcolor=black style=color:white>$chat[id]</td><td width=5></td><td><span style='color:$chat[color];'>$chat[chat]</span></td></tr>");
}
echo ("</table>");
?>
<script>setTimeOut("location.reload()",5000)</script>
그리고 마지막 파일 send_chat.php입니다.
대화글을 올려주는 파일입니다.
역시 mysql에 연결합니다.
$conn = mysql_connect ("서버","아이디","비번");
mysql_select_db ("테이블이 있는 db");
그리고 글을 한번 걸러줍니다(태그 해제)
$text = str_replace("<","<",$text);
$text = str_replace(">",">",$text);
마지막으로 제일 중요한 쿼리...
mysql_query("insert into chat values(null,'$HTTP_COOKIE_VARS[chat]','$text','$fontcolor')",$conn);
그리고 페이지를 이동합니다.
echo "<script>location.replace('chat_2.html")</script>";
글 보내기 (send_chat.php)/////////////////////
<?
$conn = mysql_connect ("서버","아이디","비번");
mysql_select_db ("테이블이 있는 db");
$text = str_replace("<","<",$text);
$text = str_replace(">",">",$text);
mysql_query("insert into chat values(null,'$HTTP_COOKIE_VARS[chat]','$text','$fontcolor')",$conn);
echo "<script>location.replace('chat_2.html")</script>";
?>
알아서 샤바샤바 쓰시길 ^^
헥헥... 힘드네요...이런거 하나 쓰기두..
제작환경(;;) : PHP 4.0.0&4.0.6dev, MYSQL (버전을 모르겠당..), 아파치 1.3.12&1.3.19
일단은 로그인 화면을 만들어야겠죠?
보통의 폼을 이용하여 $id라는 변수값으로 보내고 쿠키로 등록한뒤에 대화방 페이지로 이동합니다.
chat_1.php///////////////////
<?
if($id){
// 쿠키 설정
setcookie("chat",$id,0,"/");
// 페이지 이동
echo "<script>location.replace('chat_2.php')</script>";
}
?>
<form method=post action=<?=$PHP_SELF?>>
<input name=id>
<input type=submit value=입장>
</form>
네, 그리고 이제 본격적으로 대화방을 만들어야겠죠?
일단 mysql에 테이블을 만듭니다.
테이블 구조 ///////////////////////
no int not null auto_increment,
id varchar(20) not null,
chat varchar(255) not null,
color varchar(20) not null,
primary key(no)
채팅 상태는 <iframe>태그를 사용하고,
등록 폼은 밖에 합니다.
등록 폼에는 하는 말,그리고 색이 들어갑니다.
밖 파일(chat_2.html)///////////////////////////
<div align=center>
<iframe src=chat_2_stats.php></iframe>
<form method=post action=send_chat.php>
내용 <input name=text>
글씨색상 <select name="fontcolor" style=width:30>
<option selected value="black" style=background:black></option>
<option value="red" style=background:red></option>
<option value="yellow" style=background:yellow></option>
<option value="blue" style=background:blue></option>
<option value="navy" style=background:navy></option>
<option value="gray" style=background:gray></option>
<option value="silver" style=background:silver></option>
<option value="orange" style=background:orange></option>
<option value="gold" style=background:gold></option></select>
<input value=입력 type=submit>
</form>
</div>
안에 있는 파일은 처음엔 mysql에 연결합니다.
$conn = mysql_connect ("서버","아이디","비번");
mysql_select_db ("테이블이 있는 db");
그리고 쿼리를 보내고 데이터를 출력합니다.
echo ("<table width=100>");
$res = mysql_query ("select * from chat",$conn);
while($chat = mysql_fetch_array($res)){
echo ("<tr height=20><td width=100 bgcolor=black style=color:white>$chat[id]</td><td width=5></td><td><span style='color:$chat[color];'>$chat[text]</span></td></tr>");
}
echo ("</table>");
아참, 그리고 실시간으로 채팅하려면 이 자바스크립트가 있어야 합니다.
<script>setTimeOut("location.reload()",5000)</script>
5초에 한번씩 페이지를 새로고침 하라는 얘깁니다.
안 파일(chat_2_stat.php)////////////////////////////
<?
$conn = mysql_connect ("서버","아이디","비번");
mysql_select_db ("테이블이 있는 db");
echo ("<table width=100>");
$res = mysql_query ("select * from chat",$conn);
while($chat = mysql_fetch_array($res)){
echo ("<tr height=20><td width=100 bgcolor=black style=color:white>$chat[id]</td><td width=5></td><td><span style='color:$chat[color];'>$chat[chat]</span></td></tr>");
}
echo ("</table>");
?>
<script>setTimeOut("location.reload()",5000)</script>
그리고 마지막 파일 send_chat.php입니다.
대화글을 올려주는 파일입니다.
역시 mysql에 연결합니다.
$conn = mysql_connect ("서버","아이디","비번");
mysql_select_db ("테이블이 있는 db");
그리고 글을 한번 걸러줍니다(태그 해제)
$text = str_replace("<","<",$text);
$text = str_replace(">",">",$text);
마지막으로 제일 중요한 쿼리...
mysql_query("insert into chat values(null,'$HTTP_COOKIE_VARS[chat]','$text','$fontcolor')",$conn);
그리고 페이지를 이동합니다.
echo "<script>location.replace('chat_2.html")</script>";
글 보내기 (send_chat.php)/////////////////////
<?
$conn = mysql_connect ("서버","아이디","비번");
mysql_select_db ("테이블이 있는 db");
$text = str_replace("<","<",$text);
$text = str_replace(">",">",$text);
mysql_query("insert into chat values(null,'$HTTP_COOKIE_VARS[chat]','$text','$fontcolor')",$conn);
echo "<script>location.replace('chat_2.html")</script>";
?>
알아서 샤바샤바 쓰시길 ^^
헥헥... 힘드네요...이런거 하나 쓰기두..
댓글 20
-
이현사
2001.06.05 08:13
챗 -
곰팅
2001.06.06 00:29
이런 방법으로 대화방 만들어놓으면...100% 계정 짤립니다...유료계정이라도 말이죠...-_-;;;;;;;;;;;;;;; -
순대포유
2001.06.06 21:43
마자......;;; -
고종길
2001.06.07 01:19
그럼 나 처럼 서버 우녕하면 되지 않나?? ^^;; -
aimode
2001.06.07 13:16
자기서버를 운영하면 되겠지만... 왜 계정에서 짤리게 되는가를 생각해 볼 필요가 있겠죠... -
해그리드짱!!!
2001.06.09 22:43
그렇기는 하겠네요...하지만 페이지에 onUnLoad이벤트가 일어날때 그 아이디의 모든 글과 쿠키를 삭제하게 하면 될듯..^^ -
mr.k
2001.06.15 16:18
올리신 분은 php 학습을 위해서 공개 하신듯한데... 물런 첨분터 크게 보면 좋지만.. 기본 부터 익히고... -
유정권
2001.06.20 08:47
후미 -
유정권
2001.06.20 08:48
짤리는데 진짜 후미후미.. -
psycho+.~
2001.06.20 13:57
sshel.com에서도 조차 채팅방 개설시 경고도 하지 않구 그냥 짤라버린다구 하네여.... -
페이퍼리아
2001.06.24 01:58
채팅은 아알씨에서 ;;; 죄송 (__) -
이지원
2001.07.01 15:22
와... -
이성용
2001.07.09 21:52
안되는뎅..ㅠㅠ -
선연화
2001.07.20 10:00
조금 복잡하네요.... -
한울
2001.08.18 19:47
.. 소중한 소스 고맙구여... 위에 계정짤린다는 사람들~ 안쓰면 될꺼 아냐?! -
inFove
2001.08.23 00:56
어떤 대화방이든.. 상당한 부하가 걸리게 되었습니다.. 이소스를 발전시켜서 더 부하가 덜걸리는 대화방을 만들어보세요..그리고 여기에 공개하시구요.^^.. -
NTD
2002.05.16 23:51
이런데 쓰면 조켔네요 ^_^ <돈이 푸진사람만;;> 만약에 할짓 없어서 계정하나 장난으로 삭제 하고싶다!
그런데 호스팅 업체에서는 안지워 준다 ㅡㅡ;
이걸쓴다.
바로 돌 얻어맞고 짤린다 ㅡㅡ;
윽 돌이닷~ -
likemed
2002.07.28 18:44
어떤 점에서 계정에 부화가 걸리나요? 5초마다 리로드하는 스크립트 때문에 그런가요???
어떤 점이 단점인지 구체적으로 알려주시면 감사하겠습니다. -
에지
2002.12.24 19:32
likemed// 맞습니다-_-;; 5초마다 리로드를 하기때문에 파일을 많이 불러와야 하므로-_-; -
김해랑
2005.01.13 12:54
-_-; 학습용으로 쓰고 필요 없으면 안쓰면 되는거죠..
코멘트에 뭔 비꼬는 말들을 그렇게듳 쓰시는지..참나.
제목 | 글쓴이 | 날짜 |
---|---|---|
[추천 소스] phpMyAdmin 다중사용자용... [5] | WOWpc | 2001.11.29 |
MySQL에서 한글 정렬 문제 [2] | 손정호 | 2001.11.21 |
phpMyAdmin에서 dump 안 되시는 분들 보세요 [5] | 똥가리 | 2001.11.18 |
컴에 phpMyAdmin 깔고 원격 Mysql 관리.(이것도 팁이 되려나?) [1] | 최형삼 | 2001.11.17 |
[추천 소스] 특정일로부터 몇일 지났나 또는 몇일 남았나 알아보는 소스 ㅡ.ㅡ; [1] | 타스케 | 2001.11.15 |
게시판 만들 때 스팸메일을 막을 수 있는 방법중 한개. [11] | WOWpc | 2001.11.09 |
[GD] 이미지 회전 함수 공개합니다. [7] | 노경민 | 2001.11.05 |
자동차세 연체가산금 계산기 | secret | 2001.04.02 |
Imagechar() 함수에서 한문자씩쓰는거 여러글짜이어쓰는함수 | 김승태 | 2001.10.20 |
남은 계정 용량 확인하는 PHP [17] | 겜올드™ | 2001.09.09 |
php 로 swf 맹글기 [3] | 리산 | 2001.08.30 |
mysql_fetch_row함수와 mysql_fetch_array함수의 차이점. [4] | webzzang | 2001.08.22 |
1900년부터 2043년까지 음력을 양력으로..... [3] | pupstar | 2001.08.14 |
지금까지 살아온 날 계산해 주는 스크립트 [6] | skyel | 2001.07.20 |
홈페이지에 실시간뉴스 보여주기 [19] | looster | 2001.06.05 |
자기 홈 또는 서버 연지 며칠이 지났는지 알 수 있는 php 소스 [15] | 고종길 | 2001.06.03 |
대화방을 만들어보쟈~ [20] | 해그리드짱!!! | 2001.06.03 |
쿠키 설정하고 불러올때 주의할점;; [윈도우 멀티부팅 사용하시는 초보분만] [9] | daftya | 2001.05.29 |
GD를 이용해본 영어 발음기호 image출력 [3] | 앤디(andy) | 2001.05.24 |
[APM] 한글, gif, jpeg, png 다되는 GD 설치 [4] | 앤디(andy) | 2001.05.22 |