Foros del Web » Programando para Internet » PHP »

Tres personas en mi web pero se ejecuta como 40 veces ¿?¿?

Estas en el tema de Tres personas en mi web pero se ejecuta como 40 veces ¿?¿? en el foro de PHP en Foros del Web. Buenas, tengo un chat en mi web hecho por mi que estoy seguro que en algo lo he hecho mal, uso xajax para los procesos ...
  #1 (permalink)  
Antiguo 23/03/2009, 03:36
 
Fecha de Ingreso: enero-2009
Mensajes: 212
Antigüedad: 15 años, 2 meses
Puntos: 4
Tres personas en mi web pero se ejecuta como 40 veces ¿?¿?

Buenas, tengo un chat en mi web hecho por mi que estoy seguro que en algo lo he hecho mal, uso xajax para los procesos y he pedido a mi servidor que me envie los procesos que se ejecutan cada poco tiempo por rendimiento, ya que mi web teniendo un server dedicado va muy muy lento.

Me ha sorprendido ver que en el momento que me envian el archivo con los procesos tengo solo 3 personas en mi web, pero que el proceso del chat se esta ejecutando mas de 40 veces y encima por ip que ni estan en ese momento en la web ... ¿no es raro?.

Os pongo aqui el chat, a ver si veis que tengo mal, que seguro que algo tengo mal ...

Código PHP:

<?
      
// aqui defino la forma de session
    
require 'includes/session.php';
     
// Aqui defino el string de conexion    
    
require 'includes/connectdb.php';
     
// aqui defino el idioma    
    
require 'includes/es.php';

    if (
$_GET['activarchat'] == 1)
        
$_SESSION['estadochat']  = 1;
    
if (
$_SESSION['estadochat'] <> 1)
{
?>
<style>
    body {
        overflow-x:hidden;
        background-color:rgb(213,225,240)
    }
    .chat_bloqueado {
        font-size: 11px;
        font-family: verdana, Geneva, Arial;
    }
</style>
    <div class=chat_bloqueado>
    <center>
        <p class=chat_bloqueado>Chat Bloqueado</p>
        <p class=chat_bloqueado>si deseas activar el chat <a href=chat_mini.php?activarchat=1&chat=<?echo $_GET['chat'];?>&chat2=<?echo $_GET['chat2'];?>>presiona aquí</a></p>
    </center>
    </div>
<?
    
exit;
}

    require_once(
"xajax_core/xajax.inc.php");
    
$xajax = new xajax();
    
    
$xajax->registerFunction("myFunction");
    
$xajax->registerFunction("funcion_barranavegacion");
    
    
    
$chat "principal";
    
        function 
f_chat($texto$chat$id_chat)
        {
        
            
// Aqui guardamos datos.
            
if ($texto <> ""
            {
                
//$fecha=date("Y/m/d - H:i:s");
                //Obtenemos la fecha actual:
                
$fecha=time();
                
//Queremos restar 3 horas a la fecha actual:
                
$horas 7;
                
// Convertimos las horas a segundos y las sumamos:
                
$fecha += ($horas 60 60);
                
// Le damos al resultado el formato deseado:
                
$fecha date("Y-m-d H:i:s"$fecha );                
                
                
$insert="insert into chat (chat, comentario, fecha, usuario) values ('".$chat."','".htmlentities(utf8_decode($texto))."','".$fecha."', '".$_SESSION['nick']."')";
                
mysql_query($insert);
            }
                
                
                
                
// Comprobar que no veas el chat que no tienes acceso.
                
if ($chat <> "principal") {
                
                    
$tmpQuery mysql_query("select count(gameID) from games where gameID = '".$chat."' and (whitePlayer = ".$_SESSION['playerID']." or blackPlayer = ".$_SESSION['playerID'].")");
                    
$max_id mysql_result($tmpQuery,0);
                    if (
$max_id == 0)
                    {
                        exit;
                    }
                }
                
                
// aqui para el tiempo
                
if ($chat == "principal") {
                    
// el chat principal lo pongo poco tiempo el resto mucho.
                    
$tiempo "20001";
                } else {
                    
$tiempo "160001";
                }
                
            
            
                
// validar que si ya se cargo el chat no lo vuelva a cargar.
                 // aqui cargamos el chat.
                
$tmpQuery mysql_query("select count(id) from chat where chat = '".$chat."'");
                
$max_id mysql_result($tmpQuery,0);
                
                
$cargarchat 0;
                if (
$id_chat == "" ) {
                    
$id_chat $max_id;
                    
$cargarchat 1;
                } else {
                    if (
$id_chat <> $max_id
                    {
                        
$id_chat $max_id;
                        
$cargarchat 1;
                    }
                }
                
                if (
$max_id == 0)     
                    
$cargarchat 1;
                
                
                if (
$cargarchat == 1) {
                
                    
$select="select * from chat where chat = '".$chat."' order by id desc limit 20";
                    
$select=mysql_query($select);
                    while(
$row mysql_fetch_array($select))
                    {
                        
$mensaje $row["comentario"];
                        
                        
$usuario $row["usuario"];
                        
$usuario str_replace("á""a"$usuario);
                        
$usuario str_replace("é""e"$usuario);
                        
$usuario str_replace("í""i"$usuario);
                        
$usuario str_replace("ó""o"$usuario);
                        
$usuario str_replace("ú""u"$usuario);
                    
                            
$ver $ver."<div class=chat><b>".$usuario."</b><br>".$mensaje."<br /></div>";
                    }
                    
                    
        
                if (
$ver == ""
                    
                    
$ver _nohaymensajesenelchat.".";
                    
$objResponse = new xajaxResponse();
                    
$objResponse->call('setTimeout','xajax_f_chat("", "'.$chat.'", "'.$id_chat.'");',$tiempo);
                    
$objResponse->assign("ventanachat","innerHTML"$ver);
                    
$objResponse->assign("id_chat","value",$id_chat);
                    return 
$objResponse;                            
                    
                } else {

                
                    
$objResponse = new xajaxResponse();
                    
$objResponse->call('setTimeout','xajax_f_chat("", "'.$chat.'", "'.$id_chat.'");',$tiempo);
                    return 
$objResponse;                            
                
                
                }
             
        }
    
    
$xajax->registerFunction("f_chat");
    
$xajax->processRequest();    
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" dir="ltr" lang="es">
<head>
  <title>MiniChat</title>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <meta NAME="language" CONTENT="es" />
  <link rel="stylesheet" type="text/css" media="screen,projection,print" href="./css/layout4_setup_sinlateral.css" />
  <link rel="stylesheet" type="text/css" media="screen,projection,print" href="./css/layout4_text.css" />
    <style>
        body {
            overflow-x:hidden;
            /*background :  rgb(213,225,240);*/
            background-color:rgb(213,225,240)
        }
        .blue  {width:183px; margin:0 0 2.5em 0; padding:0 0 10px 0; border:solid 1px rgb(137,170,214); background-color:rgb(213,225,240);}

        #ventanachat h1, #ventanachat h2 {
          color : #cc0000;
        } 
        #ventanachat {
          right:0px;
          position : fixed;
          top : 10%;
          bottom : 100px;
          margin : 30px 0px 0px 0px;
          width : 200px;
          height : 200px;
          color : #000000;
          overflow : auto;
        }
        
        .innertube{
            margin: 15px; /*Margins for inner DIV inside each DIV (to provide padding)*/
        }
                
        .chat
        {
             
            color:#000000;
            font-size:7pt;
            padding: 7px;
            margin: 5px;
            font-weight : normal;
            letter-spacing : 2px;
            border: 1px solid #b8d957;    
            background-color: #ecf2e0;
            text-align: left;
        }        
        .actions{
            margin-left: 10px;
            margin-top: 10px;
        }
        
     
    </style>     
    
<?php $xajax->printJavascript(); ?>    
</head>
<body>
<?
    
// antes de nada comprobar que haya chat.
    
$tmpOpponentEmail mysql_query("SELECT id from  datos_generales where chatactivo = 1");
    if (
mysql_num_rows($tmpOpponentEmail) == 0)    
    {
        echo 
"<br><br><br><br><b class=aviso>Chat bloqueado por los administradores.</b>";
        exit;
    }
?>
     <script language="JavaScript" type="text/javascript">
       <!--
        function enviarmensaje(mensaje, id_chat)
        {
            document.getElementById('e1').value="";
            document.getElementById('e1').focus();
            xajax_f_chat(mensaje, "<?echo $chat;?>", id_chat);
        }

   function keyDown(e, id_chat) {
      var name = "";
      if (document.all) {
         if (e.keyCode == 13) name = e.srcElement.name;
      } else
         if (e.which == 13) name = e.target.name;

      if ((name.length > 0) && (name.length < 6)){
            xajax_f_chat(document.getElementById('e1').value, "<?echo $chat;?>", id_chat);
            document.getElementById('e1').value="";
            document.getElementById('e1').focus();        
      }
   }
   
    function setsmiley(what){
        tmp=document.getElementById("e1");
        tmp.value = tmp.value+" "+what+" ";
        tmp.focus();
    }   
   
   // -->
   </script>     

        <div class="actions"> 
            <a href="javascript:setsmiley(':)')"><img src="img/chat/smile.gif" border="0" alt=":)" align="bottom"></a>
            <a href="javascript:setsmiley(':p')"><img src="img/chat/tongue.gif" border="0" alt=":p" align="bottom"></a>
            <a href="javascript:setsmiley(';)')"><img src="img/chat/wink.gif" border="0" alt=";)" align="bottom"></a>
            <a href="javascript:setsmiley(':o')"><img src="img/chat/icon_e_surprised.gif" border="0" alt=":(" align="bottom"></a>
            <a href="javascript:setsmiley(':-(')"><img src="img/chat/icon_mad.gif" border="0" alt=":(" align="bottom"></a>
                    
        <input name="e1" id="e1" type="text"  size="20" maxlength="150" onkeydown="javascript:keyDown(event, document.getElementById('id_chat').value);"> 
        <input type="button" value="*" onclick="enviarmensaje(document.getElementById('e1').value, document.getElementById('id_chat').value)" />        
        <input type="hidden" id="id_hash" value="" />
        <input type="hidden" id="id_chat" value="0" />
        </div>
        <div id="ventanachat">
            <div class="innertube">
            <br><br><br><center>Cargando Chat.</center>
            </div>
        </div>                
        <script type="text/javascript">
            document.getElementById('e1').value="";
            document.getElementById('e1').focus();
              xajax_f_chat("", "<?echo $chat;?>",0);
            
            
        </script>    
</body></html>
<? mysql_close(); ?>
Gracias anticipadas, un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:58.