[PHP/JAVA] Répétition du code...

Fermé
loster - 2 janv. 2007 à 18:03
 loster - 2 janv. 2007 à 20:09
Bonjour,

Pour commencer, j'espere que tout le monde a passé de bonnes fêtes de fin d'année...

Ensuite, j'aimerais demander aux webmasters ou autres s'ils peuvent me donner un ptit coup de pouce :)

J'aimerais créer un chat personnel à chaque des membres de mon espace rencontres tel qu'un celebre site de rencontres que vous connaissez sans doute ;) (rassurez vous, je ne cherche pas à lui faire de la concurence... mon site sera un site de rencontres seulement pour ados) Problème: avec le code suivant, à chaque actualisation automatique du chat, le dernier message se réafiche. Bon alors voila le code qui permet d'afficher les messages :

<? 

$idchat = @$_GET['idchat'];

if (!function_exists("Mysql_Connexion")) {include ("mainfile.php");}
if (!function_exists("makeChatBox")) {include ("powerpack_f.php");}
include("functions.php");
global $repere; settype ($repere, "integer");


   if (!autorisation_block("makeChatBox")) {die();}

   if (isset($user)) {
      if ($cookie[9]=="") $cookie[9]=$Default_Theme;
      if (isset($theme)) $cookie[9]=$theme;
      $tmp_theme=$cookie[9];
      if (!$file=@opendir("themes/$cookie[9]")) {
         $tmp_theme=$Default_Theme;
         include("themes/$Default_Theme/theme.php");
      } else {
         include("themes/$cookie[9]/theme.php");
      }
   } else {
      $tmp_theme=$Default_Theme;
      include("themes/$Default_Theme/theme.php");
   }
   global $site_font, $sitename;

   $result = mysql_query("SELECT username, message, dbname, date FROM chatbox where idchat='$idchat' and date>'$repere' ORDER BY date ASC");
   $thing="";
   if ($result){
      while(list($username, $message, $dbname, $date_message) = mysql_fetch_array($result)) {
         $thing.="<div class='TEXTBOX_STANDARD' style='margin: 0px; padding: 2px;'><div class='ChatHeure'>".date(pp_translate("Chatdate"),$date_message+($gmt*3600))."</div>";
         if ($dbname==1) {
            if ((!$user) and ($member_list==1) and (!$admin)) {
               $thing.="<div class='ChatNom'>$username</div>";
            } else {
               $thing.="<div class='ChatNom'><a href='fiche.php?id=$username' target='_blank'>$username</a></div>";
            }
         } else {
            $thing.="<div class='ChatNom'>$username</div>";
         }
         $message=Smilie($message);
         $chat_forbidden_words=array(
         "'\"'i"=>""",
         "'OxOA'i"=>"",
         "'OxOD'i"=>"",
         "'\n'i"=>"",
         "'\r'i"=>"",
         "'\t'i"=>"");
         $message=preg_replace(array_keys($chat_forbidden_words),array_values($chat_forbidden_words), $message);
         $message=make_clickable($message);
         $thing.="<div class='ChatTexte'>".removeHack($message)."</div></div>";
         $repere=$date_message;
      }
      $thing="\"".$thing."\"";
   }

   if ($aff_entetes=="1") {
      $meta_op=true;
      include("meta/meta.php");
      $Xthing.=$l_meta;
      $Xthing.=import_css($tmp_theme, $language, $site_font);
      $Xthing.="<title></title></head><body id='chat'>";
      $Xthing="\"".str_replace("'","\'",$Xthing)."\"";
   }

   $result = mysql_query("SELECT DISTINCT ip FROM chatbox WHERE idchat='$idchat' and date >= ".(time()-(60*2))."");
   $numofchatters = mysql_num_rows($result);

   $rafraich_connectes=0;
   if (intval($connectes)!=$numofchatters) {
      $rafraich_connectes=1;
      if (($numofchatters==1) or ($numofchatters==0)) {
         $nbre_connectes="'".$numofchatters." ".utf8_java(pp_translate("person chatting right now."))."'";
      } else {
         $nbre_connectes="'".$numofchatters." ".utf8_java(pp_translate("people chatting right now."))."'";
      }
   }
   $commande="self.location='meetingschatrafraich.php?idchat=".$idchat."&repere=".$repere."&aff_entetes=0"."&connectes=".$numofchatters."'";
   include("meta/meta.php");
   echo "</head>\n<body onload='sur_chargement();' id='chat'>
   <script type='text/javascript' language='JavaScript'>

   function scroll_messages() {
      if (typeof(scrollBy) != 'undefined') {
         parent.frames[1].scrollBy(0, 20000);
         parent.frames[1].scrollBy(0, 20000);
      }
      else if (typeof(scroll) != 'undefined') {
         parent.frames[1].scroll(0, 20000);
         parent.frames[1].scroll(0, 20000);
      }
   }

   function rafraichir() {
      $commande;
   }

   function sur_chargement() {
      setTimeout(\"rafraichir();\", 6000);";
      if ($aff_entetes=="1")  echo "parent.frames[1].document.write($Xthing);";
      if ($thing!="\"\"") {
         echo "parent.frames[1].document.write($thing);
               setTimeout(\"scroll_messages();\", 300);
               ";
      }
      if ($rafraich_connectes==1) {
         echo "parent.document.title=$nbre_connectes;";
      }
   echo "}
   </script>
   </body></html>";
?>


Je pense qu'il faudra un peu de temps pour résoudre ce problème car le sujet est long à traiter mais je remercie tous les membres de ce forum ... Bonne soirée.
A voir également:

1 réponse

Ps: le problème ne survient pas avec IE.
0