Statistiques| Inscription| Espace privé
Développement Web
Accueil > AJAX > Un chat > Les fichiers PHP
Le plan Les galeries
Dernière mise à jour :
vendredi 15 mai 2009
Contact
Webmestre
olivier ramos
ParamSPIP
Agenda
<<   Mars 2024   >>
Lu Ma Me Je Ve Sa Di
26 27 28 29 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31



chat.php
 
 
 
 

<?php
session_start();

include('config/aristodefcondb.inc');
// On se connecte à la base de données.
@mysql_connect(ADBASE,LOG,MDP)or die("<br> CONNEXION  MYSQL IMPOSSIBLE.<BR>Les param&egrave;tres de connexion sont incorrects.<BR>
   <a href='plugins/paramspip/fichiers/dir".$_SESSION['idarticle']."/relance.php' >Relancez l'installation</a>");
@mysql_select_db(BASE) or die("<br> CONNEXION  MYSQL IMPOSSIBLE.<BR>Les param&egrave;tres de connexion sont incorrects.<BR>
   <a href='plugins/paramspip/fichiers/dir".$_SESSION['idarticle']."/relance.php' >Relancez l'installation</a>");
 


//*****************************************************************************
// On récupère ici certaines variables de session.
//*****************************************************************************

// On retrouve parfois des variables de session mal initialisées ; donc on teste les trois valeurs possibles.
if (($_SESSION['gcouleur']!="#63030a")and($_SESSION['gcouleur']!="#060d85")and($_SESSION['gcouleur']!="#06484b")){
$_SESSION['gcouleur']="#63030a";
}


// On récupère l'éventuel  nom du logo (situé dans le répertoire dir_logos) qui a été initialisé lors de l'ouverture de la fenêtre popup.php.
if (isset($_SESSION['nomlogo'])){$nomlogo=$_SESSION['nomlogo'];}
else{$nomlogo="";}

// On récupère la variable indiquant la fin du chat.
// Cette variable  devient vraie lorsque l'on sort du chat.
if (isset($_SESSION['fin'])){$fin=$_SESSION['fin'];}
else{$fin=false;}

//***************************************************************************************************
// On récupère ici les valeurs envoyées par POST :  le pseudo ainsi que le mot de passe entré par le visiteur.
//***************************************************************************************************

// La fonction stripslashes enlève les slashs nécessaires pour l'inscription dans la base de données.
if (isset($_POST['entpseu'])){
$_SESSION['pseudo']=$_POST['entpseu'];
$pseud=stripslashes($_POST['entpseu']);
}
else if (isset($_SESSION['pseudo'])){$pseud=stripslashes($_SESSION['pseudo']);}
else{$pseud="";}

if (isset($_POST['mot_de_passe'])){$mot_de_passe=stripslashes($_POST['mot_de_passe']);}

// On teste le mot de passe.
// Dans le cas où il n'y a pas de mot de passe, le test de la variable pseud permet de ne pas passer directement dans le chat.
// Lorsque l'on est sorti, on doit repasser par le formulaire d'inscription.

if (($mot_de_passe==MDPCHAT) and ($pseud!="") and ($fin==false)){
?>

       
<script type="text/javascript" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/ajax1.js" ></script>
       

<!--
Le style interne qui régit les éléments dont la couleur peut être choisie par le visiteur.
Ce choix est stocké dans la variable de session $_SESSION['gcouleur'].
La couleur sera éventuellement modifiée par la fonction javascript change_couleur.
-->

<style type="text/css">
        #saisie{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
        #formeffacer{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
        #aristotitre{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
        #personnes{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
        table.aristomessage{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
        table.aristomessage .droite{
        color: <?php echo $_SESSION['gcouleur']; ?>
        }
        #pseudos{
        color: <?php echo $_SESSION['gcouleur']; ?>
        }
        #nbtoto{
        background-color: <?php echo $_SESSION['gcouleur']; ?>
        }
</style>


<!--
Lorsque l'on charge la page, on appelle twAffHeure pour faire apparaître l'heure et lorsque l'on quitte la page, on efface tout.
-->

<!-- ***************************************************************************** -->
<!--                                                  Un conteneur gris foncé.                                                                -->
<!-- ***************************************************************************** -->
<div align="center">
<div id="conteneur1" >

<!-- ***************************************************************************** -->
<!--                                                  Une bande située en haut                                                                -->
<div id="haut">

<!-- L'heure est située en haut à droite, grâce à un style flottant. -->
<div id="heure"></div>

<!-- On propose à chaque utilisateur le choix des couleurs. -->
<a  id="couleur1"><img  class="aristofloatleft" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/rouge.jpg" alt="" /></a>
<a  id="couleur2"><img  class="aristofloatleft" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/bleu.jpg" alt="" /></a>
<a  id="couleur3"><img  class="aristofloatleft" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/vert.jpg" alt="" /></a>


<?php
// On insère le nom s'il y a lieu.
//if ((isset($_SESSION['nomchat']))and($_SESSION['nomchat']!="")) echo stripslashes($_SESSION['nomchat']);
//else echo "&nbsp;";
        if (NOMCHAT!="") echo NOMCHAT;
                else echo "&nbsp;";
?>
<!--  fin du div haut -->
</div>
<!-- ***************************************************************************** -->

<?php



// On va afficher tous les messages présents dans la base de données.
// On utilise la requête suivante pour récupérer les 10 derniers messages.
        $reponse = @mysql_query("SELECT * FROM aristojchatx WHERE message!='' ORDER BY ID DESC LIMIT 0,10");

// On utilise la requête suivante pour récupérer tous les pseudos.       
        $listpseu = @mysql_query("SELECT DISTINCT pseudo FROM aristojchatx ORDER BY id");
       
// On utilise la requête suivante pour récupérer le dernier message (qui sera traité à part pour le dernier id).       
        $tot = @mysql_query("SELECT * FROM aristojchatx ORDER BY ID DESC LIMIT 0,1");
        $toto=@mysql_fetch_array($tot);
       
// On utilise la requête suivante pour récupérer le nombre total de pseudos.
        $totopseu = mysql_query("SELECT COUNT(DISTINCT pseudo) AS topseu FROM aristojchatx");
        $nbpseu =@mysql_fetch_array($totopseu);
       
// On utilise la requête suivante pour récupérer le nombre total de personnes connectées.
        $totoperso = @mysql_query("SELECT COUNT(DISTINCT ip) AS toip FROM aristojchatx");
        $nbperso =@mysql_fetch_array($totoperso);

// Toutes ces données sont stockées dans des variables de session pour un traitement ultérieur.       
        if (isset($nbpseu['topseu'])) {        $_SESSION['ancientotalpseu']=$nbpseu['topseu'];}       
        else{        $_SESSION['ancientotalpseu']=0;}

        if (isset($nbperso['toip'])) {$_SESSION['ancientotalperso']=$nbperso['toip'];}
        else{        $_SESSION['ancientotalperso']=0;}

        if (isset($toto['id'])) {$_SESSION['ancientotal']=$toto['id'];}
        else {        $_SESSION['ancientotal']=0;}

?>
       


<!-- ***************************************************************************** -->
<!--                                                           Bloc flottant à gauche                                                            -->
<!-- ***************************************************************************** -->
                                <div class="aristoblocgauche">


<!-- ***************************************************************************** -->
<!--                    On affiche le formulaire permettant d'entrer son pseudo et son message              -->
<!--                    avec la présence éventuelle du logo.                                                                            -->
<!-- ***************************************************************************** -->
<form id="saisie" action=""  name="saisie">

<table class="aristotableauentree" border="0" cellpadding="0" cellspacing="3" align="center">
   <tr>
                <td  rowspan="3" class="aristoentlogo">
                        <?php // Insertion éventuelle du logo
                        if ((isset($_SESSION['nomlogo'])) and ($_SESSION['nomlogo']!="")) { ?>
                        <img  class="aristologochathaut" alt="" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/dir_logos/<?php echo $_SESSION['nomlogo'];?>"/>
                        <?php } ?>
                </td>
                <td  class="aristoentgauche">Pseudo</td>
                <td class="aristoentdroite" ><textarea id="textpseudo" class="aristopseudo" name="pseudo" cols="20" rows="1"  ><?php echo $pseud; ?></textarea></td>
   </tr>
        <tr>
           <td  class="aristoentgauche">&nbsp;</td>
           <td class="aristoentdroite" ><span id='pseudobox'></span></td>          
   </tr>
        <tr>
                <td  class="aristoentgauche">Message</td>
                <td class="aristoentdroite" ><textarea   name="message" id="textmessage" cols="20" rows="5" ></textarea></td>
        </tr>
</table>

<input type="button"  name="bouton" value="Valider" id="valider"    />
</form>


<br/>

<!-- On affiche ici les dix derniers messages. Chaque message est stocké dans un tableau à une ligne et deux colonnes -->
<div id="tableaumessages">

<?php
// On fait une boucle pour afficher tous les messages.
while ($donnees = @mysql_fetch_array($reponse) ){
?>

<table class="aristomessage"   cellspacing="0" >
 <tbody>
   <tr>
                <td class="aristogauche">
                        <?php // Insertion éventuelle du logo. Le nom est dans la base de données et l'image figure dans le répertoire dir_logos.
                        if ($donnees['nomlogo']!="") {  ?>
                        <div class="aristologochatmes">               
                                <img   alt='' src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/dir_logos/<?php echo $donnees['nomlogo'];?>"  width="50"/>
                        </div>
                        <?php } ?>
                        <div class="aristoheupseu" ><?php // Insertion du pseudo; On enlève les slashs et on remplace les sauts de ligne par des"<br>".
                                                                echo str_replace("\n","<br/>",htmlentities(stripslashes($donnees['pseudo']))); ?>
                                <div class="aristoheuremes" ><?php //Insertion de l'heure.
                                                                        echo $donnees['heure']; ?>
                                </div>
                        </div>
                </td>         
                <td class="aristodroite"><?php // Insertion du pseudo; On enlève les slashs et on remplace les sauts de ligne par des"<br>".
                                                echo str_replace("\n","<br/>",htmlentities(stripslashes($donnees['message']))); ?>
                </td>
   </tr>
 </tbody>
</table>

<?php
}
// Fin de la boucle while.
?>
<!-- fin des messages -->
</div>

                                                <!-- fin du div gauche -->
                                                        </div>
<!-- ***************************************************************************** -->

<!-- ***************************************************************************** -->
<!--                                                           Bloc flottant à droite                                                             -->
<!--  dans lequel, on trouve les pseudos, leur nombre total ainsi que le nombre total de personnes -->
<!-- ***************************************************************************** -->
<div id="connectes">
                <div id="aristotitre">Connect&eacute;s</div>
                <div id="pseudos">
                                <?php
                                // On fait une boucle pour afficher tous les pseudos.
                                while ($list = @mysql_fetch_array($listpseu) ){
                                echo stripslashes($list['pseudo']);
                                echo "<br/>";}
                                ?>

                        <div id='nbtoto'>
                                <?php
                                // On affiche les nombres totaux de pseudos et de personnes.
                                if ($nbpseu['topseu']>1) echo $nbpseu['topseu']." pseudos<br/>";
                                if ($nbpseu['topseu']==1) echo $nbpseu['topseu']." pseudo<br/>";
                                if ($nbperso['toip']>1) echo $nbperso['toip']." personnes<br/>";
                                if ($nbperso['toip']==1) echo $nbperso['toip']." personne<br/>";

                                // On se déconnecte de MySQL
                                @mysql_close(); ?>
                        </div>
                </div>

<!-- fin du div connectes -->
</div>
<!-- ***************************************************************************** -->



<!-- ***************************************************************************** -->
<!--                                 On affiche le bouton qui permet de tout effacer                                         -->
<!-- ***************************************************************************** -->

<form id="formeffacer" action=""  name="formeffacer">
 <input type="button"  name="bouton1" value="Effacer" id="effacer" />
</form>


<br/>

<!-- ***************************************************************************** -->
<!--                                               On affiche l'image du bas.                                                                -->
<!-- ***************************************************************************** -->
<div align="center" style="background:#f2f2f2;">
        <a href="http://oramos22.free.fr/AristoJchAtX"><img  id="sortie" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/AristoJchAtX1.jpg" alt="" /></a>
</div>

<!-- fin du div conteneur1 -->
</div>
</div>
<!-- ***************************************************************************** -->


<?php
}

// Tant que ce n'est pas le bon mot de passe on relance le formulaire d'entrée
else{
?>

       
<script type="text/javascript" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/ajax2.js" ></script>
       

<!-- ***************************************************************************** -->
<!--                                               Insertion d'un conteneur lumineux gris                                           -->
<!-- ***************************************************************************** -->
<div  align="center">
<div id="aristoconteneur" align="center">
<!--                                               Insertion éventuelle du titre                                                                -->
<div id="titreentree">
        <?php
//                if ((isset($_SESSION['nomchat']))and($_SESSION['nomchat']!="")) echo stripslashes($_SESSION['nomchat']);
//                else echo "&nbsp;";
                if (NOMCHAT!="") echo NOMCHAT;
                else echo "&nbsp;";
        ?>
</div>

<!-- ***************************************************************************** -->
<!--             Insertion d'un formulaire de saisie du logo, du pseudo et du mot de passe.                    -->
<!-- ***************************************************************************** -->       
<form id="premier" action="" method="post" name="premier">

<!-- ***************************************************************************** -->
<!--                                                Bloc bleu : saisie du logo                                                       -->
<div class="aristobleu">  

<!-- Cet artifice permet d'utiliser la variable php $nomlogo et de la transférer en javascript avec premier.nomlogo.value        -->
        <textarea   class="aristoinvisible" cols="1" rows="1" name="nomlogo" ><?php echo $nomlogo; ?></textarea>

<!-- Insertion �ventuelle du logo        -->
        <?php                if ((isset($_SESSION['nomlogo'])) and ($_SESSION['nomlogo']!="")) { ?><div align="center" class="aristologoperso">
        <img alt="" src="plugins/paramspip/fichiers/<?php echo $dirarticle; ?>/dir_logos/<?php echo $_SESSION['nomlogo'];?>" width="100"  height="100"/></div>
        <?php                } ?>       

<!-- Bouton permettant d'uploader un logo après affichage d'une fenêtre popup        -->
        <input  id="envoi2"  type="button"         value="Logo"  />

</div>    
<!-- ***************************************************************************** -->

<!-- ***************************************************************************** -->
<!--                                Bloc rouge : saisie  du pseudo et du mot de passe.                               -->
<div class="aristorouge">                 
        <table class="aristotableaumotpasse" border="0" cellpadding="0" cellspacing="0" align="center">
                <tr>
                        <td  class="aristoentgauchemdp">Pseudo</td>
                        <td class="aristoentdroitemdp" ><textarea   id="textpseudo1" class="aristopseudo" cols="20" rows="1" name="entpseu" ></textarea></td>      
                </tr>
                <tr>
                        <td  class="aristoentgauchemdp">&nbsp;</td>
                        <td class="aristoentdroitemdp" ><span id='pseudobox1'></span></td>          
                </tr>  
                <tr>
                        <td  class="aristoentgauchemdp">Mot de passe</td>
                        <td class="aristoentdroitemdp" ><textarea   class="aristopseudo" cols="20" rows="1" name="mot_de_passe" ></textarea></td>           
                </tr>    
        </table>
<!-- Cet artifice permet d'utiliser la variable php $mdpchat et de la transférer en javascript avec premier.mdpchat.value        -->
          <textarea   class="aristoinvisible" cols="1"  rows="1" name="mdpchat" ><?php echo MDPCHAT; ?></textarea>
</div>
<!-- ***************************************************************************** -->

<!-- ***************************************************************************** -->
<!--                                                Bloc vert : validation                                                             -->
<div class="aristovert">  
        <input id="envoi"  type="submit" value="Valider"  />
</div>
<!-- ***************************************************************************** -->
       
</form>
</div>
</div>


<?php
$_SESSION['fait']=0;
}
?>