| mdweb Dio maturo
 
  
  
 Registrato: 18/12/07 16:59
 Messaggi: 4412
 
 
 | 
			
				|  Inviato: 20 Feb 2008 18:15    Oggetto: Turorial] creare chat in php |   |  
				| 
 |  
				| Creiamo un file config.inc.php e inseriamo i dati del database. 
  	  | Codice: |  	  | <?php $server = $_SERVER["SERVER_NAME"];
 if($server == "127.0.0.1"){
 $user = "";
 $pwd = "";
 $host = "";
 $db = "";
 }
 else{
 $user = "";
 $pwd = "";
 $host = "";
 $db = "";
 }
 
 ?>
 
 | 
 
 Ora creiamo un file chat.php che servirà per chattare:
 
  	  | Codice: |  	  | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
 <html>
 <head>
 <title>Messaggia</title>
 
 <script language="javascript">
 <!--
 function controllaform(ff) {
 for (var i=0; i<ff.length; i++) {
 if (ff.elements[i].value == "") {
 alert("Il form non è completo, completate tutti i campi.");
 return false;
 }
 }
 return true;
 }
 -->
 </script>
 
 </head>
 <body bgcolor="#fff">
 
 
 
 <br/><center>
 <?php
 include("config.inc.php");
 
 if(isset($_GET['cat'])){
 $idc = $_GET['cat'];
 }
 
 
 if(!isset($_POST['send']) && !isset($_GET['inchat'])){
 ?>
 
 <form action="chat.php" method="post" onSubmit="return controllaform(this);">
 <font class="testo3"> Username </font>    
 <input type="text" name="usern" mexlength="19" /><br/>
 <input type="submit" name="send" value="Entra in chat"/>
 </form>
 
 <?php
 }
 else if(isset($_POST['send']) && !isset($_GET['inchat'])){
 $usern = $_POST['usern'];
 
 $usern = str_replace(" ", "", $usern);
 $usern = str_replace("<", "<", $usern);
 $usern = str_replace(">", ">", $usern);
 
 echo "<font class=\"testo3\"> Individuazione username ....";
 
 $cn2 = @mysql_connect($host,$user,$pwd);
 @mysql_select_db($db,$cn2);
 
 $formatodb = date("YmdHis");
 $delold = "SELECT * FROM msgonchat WHERE ($formatodb-datains)>350";
 $_delold = mysql_query($delold,$cn2);
 $ndelold = @mysql_num_rows($_delold);
 if($ndelold>0){
 while($oldes = @mysql_fetch_array($_delold)){
 $idold = $oldes['iduser'];
 $queryel = "DELETE FROM useronchat WHERE id='$idold'";
 $_queryel = @mysql_query($queryel,$cn2);
 $queryel2 = "DELETE FROM msgonchat WHERE iduser='$idold'";
 $_queryel2 = @mysql_query($queryel2,$cn2);
 }
 }
 else{
 echo "User non eliminati...";
 }
 
 
 $peren = "DELETE FROM useronchat WHERE ($formatodb-dataentrata)>350";
 $peren_= @mysql_query($peren,$cn2);
 
 // controllo username
 $ip2 = $_SERVER['REMOTE_ADDR'];
 
 $controlloesistenza = "SELECT * FROM useronchat WHERE username='$usern' OR ip='$ip2' OR (ip='$ip2' AND username='$usern')";
 $_controlloesistenza = mysql_query($controlloesistenza,$cn2);
 $ncontrolloesistenza = @mysql_num_rows($_controlloesistenza);
 if($ncontrolloesistenza==0){
 echo "Username libero...";
 $ip = $_SERVER['REMOTE_ADDR'];
 $no = date("Y-m-d H:i:s");
 $insuser = "INSERT INTO useronchat(id,username,ip,dataentrata) VALUES('','$usern','$ip','$no')";
 $_insuser = mysql_query($insuser,$cn2);
 
 if($_insuser){
 echo "username pronto per entrare in chat...";
 header("Location:chat.php?&inchat=yes");
 echo "<meta http-equiv=\"Refresh\" content=\"2;URL=chat.php\" />";
 }
 
 }
 else{
 echo "username occupato e/o ip gia' connesso in chat";
 header("Location:chat.php");
 echo "<meta http-equiv=\"Refresh\" content=\"2;URL=chat.php\" />";
 }
 
 }
 else if(isset($_GET['inchat'])){
 echo "<font class=\"title\"> Chat! </font><br/><br/><br/>
 
 <iframe width=\"100%\" height=\"200\" style=\"border:1px solid #000;\" src=\"msgchat.php\" frameborder=\"0\">
 </iframe><br/>
 <iframe width=\"100%\" height=\"60\" style=\"border:1px solid #000;\" src=\"givemsg.php\" frameborder=\"0\">
 </iframe>
 ";
 }
 ?>
 
 </center>
 </body>
 </html>
 
 
 | 
 Ora creiamo il file givemsg.php che serve per inviare i messaggi
 
 
  	  | Codice: |  	  | 
 <html>
 <head>
 <title>Messaggia</title>
 
 <script language="javascript">
 <!--
 function controllaform(ff) {
 for (var i=0; i<ff.length; i++) {
 if (ff.elements[i].value == "") {
 alert("Il form non è completo, completate tutti i campi.");
 return false;
 }
 }
 return true;
 }
 -->
 </script>
 
 </head>
 <body bgcolor="#000">
 
 <?php
 include("config.inc.php");
 $cn = @mysql_connect($host,$user,$pwd);
 @mysql_select_db($db,$cn);
 
 $ip = $_SERVER['REMOTE_ADDR'];
 $selid = "SELECT id FROM useronchat WHERE ip='$ip'";
 $_selid= @mysql_query($selid,$cn);
 $nselid= @mysql_num_rows($_selid);
 if($nselid!=0){
 $selus = @mysql_fetch_array($_selid);
 $idu = $selus['id'];
 }
 ?>
 
 <form action="givemsg.php" method="post" onSubmit="return controllaform(this);">
 <input type="hidden" name="iduse" value="<?php echo $idu; ?>"/>
 <input type="text" name="testo" maxlength="249"/><input type="submit" name="send" value="Invia msg"/>
 </form>
 
 <?php
 if(isset($_POST['send'])){
 $testo = $_POST['testo'];
 $iduse = $_POST['iduse'];
 
 $seln = "SELECT username FROM useronchat WHERE id='$iduse'";
 $_seln= @mysql_query($seln,$cn);
 $nseln= @mysql_num_rows($_seln);
 if($nseln==1){
 $seln_ = @mysql_fetch_array($_seln);
 $nome = $seln_['username'];
 }
 $temp =$testo;
 $testo = "[USERNAME][B] $nome >>> [/B][/USERNAME] ". $temp . "[/B]";
 
 $datai = date("YmdHis");
 $insm = "INSERT INTO msgonchat(id,iduser,messaggio,datains) VALUES('','$iduse','$testo','$datai')";
 $_insm = @mysql_query($insm,$cn);
 
 $nao = date("YmdHis");
 $upde = "UPDATE useronchat SET dataentrata='$nao'";
 $_upde= @mysql_query($upde,$cn);
 }
 ?>
 
 </body>
 </html>
 
 
 | 
 
 Infine creiamo il file msgchat.php dove vengono visualizzati i messaggi:
 
  	  | Codice: |  	  | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
 <html>
 <head>
 
 
 <title>Chat PHP by Keratox</title>
 
 <style type="text/css">
 <!--
 @import url('style.inc.php');
 -->
 </style>
 
 <meta http-equiv="Refresh" content="3;URL=msgchat.php">
 
 </head>
 <body bgcolor="#000">
 
 <?php
 include("config.inc.php");
 $cn = @mysql_connect($host,$user,$pwd);
 @mysql_select_db($db,$cn);
 
 $selmsg = "SELECT * FROM msgonchat ORDER BY datains DESC LIMIT 0,100";
 $_selmsg = @mysql_query($selmsg,$cn);
 $nselmsg = @mysql_num_rows($_selmsg);
 if($nselmsg>0){
 $i=0;
 while($msg=@mysql_fetch_array($_selmsg)){
 
 $iduser = $msg['iduser'];
 $mess = $msg['messaggio'];
 $mess = str_replace("<","<",$mess);
 $mess = str_replace(">",">",$mess);
 $mess = str_replace("[B]","<b>",$mess);
 $mess = str_replace("[/B]","</b>",$mess);
 
 $mess = str_replace("[USERNAME]","<font class=\"testo3\">",$mess);
 $mess = str_replace("[/USERNAME]","</font>",$mess);
 
 $sus = "SELECT username FROM useronchat WHERE id='$iduser'";
 $_sus=mysql_query($sus,$cn);
 $sus_=@mysql_fetch_array($_sus);
 $nome = $sus_['username'];
 
 if($i%2==0){
 $color = "#FF0000";
 }
 else{
 $color = "#00FF00";
 }
 echo " <font color=\"color:$color;\">$mess</font><br/>";
 
 $i++;
 
 }
 }
 
 ?>
 
 </body>
 </html>
 | 
 
 Finito.
  |  |