Tem um problema (problema de doer a cabeça). Caso o usuário clica no botão voltar do browser ou sair, o nick fica no chat.
Teria como ao efetuar essas duas ações para que saia? Ou criar algo de inatividade?
[]s
o código do principal .php
<html> <head> <title>Batepapo Gohnet</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_goToURL() { //v3.0 var i, args=MM_goToURL.arguments; document.MM_returnValue = false; for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'"); } //--> </script> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <? if(isset($_GET["sair"])){ $cor=$_GET["cor_apelido"]; $chat_ant=file("bd/chat.txt"); $n_chat=count($chat_ant); $nn_chat=0; $ant_chat=""; if($chat_ant<>NULL){ while($n_chat > $nn_chat){ $ant_chat.=$chat_ant[$nn_chat]; $nn_chat++; } } $abrir=fopen("bd/chat.txt",'w+'); $msg_nv='<font color="'.$cor.'"><b>'.$_GET["apelido"]."</b></font><i> acabou de sair</i>;".$ant_chat; fwrite($abrir,$msg_nv); fclose($abrir); $apelido1=$_GET["apelido"]; $apelido1=strip_tags($apelido1); $usu_bd=file("bd/usu.txt"); $usuarios1=NULL; if($usu_bd<>NULL){ $usuarios1=$usu_bd[0]; } $usu_arr=explode(";",$usuarios1); $n_usua=count($usu_arr); $nn_usua=0; $usu_ago=NULL; $chave_apel=array_search($apelido1,$usu_arr); while($n_usua > $nn_usua){ if($nn_usua <> $chave_apel){ $usu_ago.=";".$usu_arr[$nn_usua]; } $nn_usua++; } $usu_ago2=substr($usu_ago, 1); $abrir4=fopen("bd/usu.txt",'w+'); fwrite($abrir4,$usu_ago2); fclose($abrir4); ?> <body onLoad="MM_goToURL('self','index.php');return document.MM_returnValue"> <? } if(isset($_POST["mensagem"])){ $cor=$_GET["cor_apelido"]; $msg=$_POST["mensagem"]; $fala1=$_POST["fala"]; $para1=$_POST["para"]; if($msg<>NULL){ $chat_ant=file("bd/chat.txt"); $n_chat=count($chat_ant); $nn_chat=0; $ant_chat=""; if($chat_ant<>NULL){ while($n_chat > $nn_chat){ $ant_chat.=$chat_ant[$nn_chat]; $nn_chat++; } } $abrir=fopen("bd/chat.txt",'w+'); $msg_nv='<font color="'.$cor.'"><b>'.$_GET["apelido"]."</b></font><i> ".$fala1." </i><b>".$para1."</b> - ".strip_tags($msg).";".$ant_chat; fwrite($abrir,$msg_nv); fclose($abrir); $data_atu=getdate(); $vazio2=$data_atu["mday"].";".$data_atu["mon"].";".$data_atu["year"].";".$data_atu["hours"].";".$data_atu["minutes"]; $abrir2=fopen("bd/ultima.txt",'w+'); fwrite($abrir2,$vazio2); fclose($abrir2); } } if(isset($_GET["apelido"])){ $apelido1=$_GET["apelido"]; $usu_bd=file("bd/usu.txt"); $usuarios1=NULL; if($usu_bd<>NULL){ $usuarios1=$usu_bd[0]; } $usu_arr=explode(";",$usuarios1); $chave=array_search($apelido1,$usu_arr); if($chave <> NULL){ ?> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td colspan="2" valign="top"> <IFRAME frameBorder=0 scrollbar="NO" height="100%" width="100%" name=centro src="chat.php#finalchat" ></IFRAME></td> </tr> <tr> <td width="70" height="50" bgcolor="#990000"><form name="form1" method="get" action="<? $_SERVER["PHP_SELF"] ?>"> <div align="center"> <input name="sair" type="submit" id="sair" value="sair"> <input name="apelido" type="hidden" id="apelido" value="<? echo $_GET["apelido"] ?>"> <input name="cor_apelido" type="hidden" id="cor_apelido" value="<? echo $_GET["cor_apelido"] ?>"> </div> </form> </td> <td bgcolor="#990000"><form name="form2" method="post" action="<? $_SERVER["PHP_SELF"] ?>"> <table width="700" height="75" border="0" align="center" cellpadding="0" cellspacing="5"> <tr> <td width="17%"><select name="fala" id="fala"> <option selected>Fala para</option> <option>Grita com</option> <option>Flerta com</option> <option>Xinga</option> <option>Desculpa-se com</option> </select></td> <td width="41%"><select name="para" id="para"> <option selected>Todos</option> <? $opcoes=file("bd/usu.txt"); $n_op=count($opcoes); $nn_op=0; $usu2=NULL; while($n_op > $nn_op){ $usu2.=$opcoes[$nn_op]; $nn_op++; } $usu3=explode(";",$usu2); sort($usu3); $n_usu3=count($usu3); $nn_usu3=1; while($n_usu3 > $nn_usu3){ ?> <option><? echo $usu3[$nn_usu3] ?></option> <? $nn_usu3++; } ?> </select></td> <td width="42%"><div align="right"><strong><font color="#000000" size="2" face="Geneva, Arial, Helvetica, sans-serif"></font></strong></div></td> </tr> <tr> <td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="89%"><font size="2" face="Geneva, Arial, Helvetica, sans-serif"><strong><font color="#FFFFFF">Mensagem</font></strong></font> <font color="#FFFFFF"> <input name="mensagem" type="text" id="mensagem" size="85"> </font></td> <td> <div align="right"> <input name="enviar" type="submit" id="enviar2" value="Enviar"> </div></td> </tr> </table></td> </tr> </table> </form></td> </tr> </table> <? } else { ?> <div align="center"><strong><font color="#990000" size="5" face="Geneva, Arial, Helvetica, sans-serif">Você não está logado no Batepapo</font></strong> <? }} else { ?> </div> <div align="center"><font color="#FF0000" size="3" face="Verdana, Arial, Helvetica, sans-serif"><strong>É necessário estar logado para participar do Batepapo</strong></font> <? } ?> </div> </body> </html>
Estava pensando em resolver isso utilizando o unset. Mas como eu colocaria esse método no voltar ou no fechar do browser?