Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Turorial] creare chat in php
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet
Precedente :: Successivo  
Autore Messaggio
mdweb
Dio maturo
Dio maturo


Registrato: 18/12/07 16:59
Messaggi: 4412

MessaggioInviato: 20 Feb 2008 18:15    Oggetto: Turorial] creare chat in php Rispondi

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> &nbsp; &nbsp;
<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("<", "&lt;", $usern);
$usern = str_replace(">", "&gt;", $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("<","&lt;",$mess);
$mess = str_replace(">","&gt;",$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. Wink
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi