Foros del Web » Programando para Internet » Javascript »

Mi chat no envía los mensajes

Estas en el tema de Mi chat no envía los mensajes en el foro de Javascript en Foros del Web. Hola , Resulta que tengo un chat , con registro y login de usuarios.En este caso busco la solucion al más gordo ya que los ...
  #1 (permalink)  
Antiguo 07/02/2013, 14:35
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 8 meses
Puntos: 1
Mi chat no envía los mensajes

Hola ,
Resulta que tengo un chat , con registro y login de usuarios.En este caso busco la solucion al más gordo ya que los demás son míseros comparandolos.
No me envía los mensajes.
Primero el sala_chat.php
Código:
<?php
include 'baneado.php'; 
session_start();
require_once('class_users/configuracion.php');
if(empty($_SESSION) || $_SESSION['username'] == "" || $_SESSION['color'] == "")
{
    unset($_SESSION['denegado']);
    $_SESSION['denegado'] = 'Acceso denegado';
    header("Location:../chat_php");
}
include 'header.php'; 
?>
    <body onload="scroll(),scroll_privates()">
	<div style="height: 10px;"></div>
        <div class="container_12">
		<div class="panel">
			<h1>Bienvenido <strong><?=$_SESSION['username']?></strong> !</h1>
			<div class="herramientas">
				<ul>
					<li><a href="javascript:normas('normas.php')" class="icon2">Normas</a></li>
					<li><a onclick="logout()" href="#" class="icon1">Desconectarse</a></li>
				</ul>
			</div>
		</div>
                <div class="grid_12" id="ventana_chat">                 
                    <div class="grid_6" id="conversacion" onmouseover="parar=true" onmouseout="parar=false"></div><br />
                    <div class="grid_3" id="smileys"><p id="nuestros_smileys">Iconos</p><br />
                    
                    <?php 
                    //incluimos las imágenes de los smileys
                        include 'smileys.php' 
                    ///////////////////////////////////////
                    ?>
                    </div>
                    <div class="grid_2" id="online"></div>
                    <div class="grid_12" id="form_chat">
                        <form name="form" method="post" id="form" action="<?=BASEURL?>class_users/send_messages.php">
                            <input type="text" name="message" id="message" size="76" value="Mensaje:" onfocus="this.value = '';" onblur="if(this.value=='') this.value='Mensaje:';"/>
                            <div>
                            <span style="cursor: pointer; color: blueviolet;" title="Coloca un enlace" id="enlace">Enlace</span>
                            <!--<span id="colores" style="color: #222;">
                            &nbsp;&nbsp;Negro: <input type="radio" checked="checked" title="Escribe negro" name="color" value="#000" />
                            &nbsp;&nbsp;Negrita: <input type="checkbox" title="Escribe negrita" name="negrita" value="bold" />
                            &nbsp;&nbsp;Subrayado: <input type="checkbox" title="Escribe subrayado" name="subrayado" value="underline" />                         
                            </span>-->
                            <input type="hidden" name="color" value="<?=$_SESSION['color']?>" />
                            <input type="hidden" name="url" value="<?=BASEURL?>" id="url"/>
                        </form>        
                    </div>
                    <input type="hidden" value="<?=$_SESSION['username']?>" id="user" />
                </div>   
                <div class="grid_4 push_5" id="like"></div>
                <div class="grid_4 push_5" id="invites"></div>
                <div class="grid_6 push_5" id="privado">
                    <div id="pantalla_privada" onmouseover="parar=true" onmouseout="parar=false"></div>
                    <form name="form" method="post" id="form_private" action="<?=BASEURL?>class_users/insert_privates.php">
						<label>Mensaje:</label>
                        <input type="text" name="p_message" id="p_message" />
                     <form>   
                </div>               
            </div>
    </body>
    <script type="text/javascript">
    //abrimos un prompt y colocamos el enlace en el campo con id message
    var text = document.getElementById('message');
    var v = document.getElementById('enlace');  
    v.onclick = function(){
    var enlace = jPrompt('Escribe tu url:', 'http://', 'Insertar enlace web', function(r) {
    nuevo_enlace = r.replace("http://", "");
    text.value += "<a href='"+r+"' target='_blank'>"+nuevo_enlace+"</a>";
    text.focus();
    });  
    }
    </script>
</html>
Hasta ahí bien , luego tengo un archivo que dudo , está en ajax.

functions.js

(LO ADJUNTO EN LA RESPUESTA)

Algún error debe haber que solo a 1 persona le permite enviar el mensaje , ¿Alguien me ayuda?
Muchas gracias!
  #2 (permalink)  
Antiguo 07/02/2013, 14:36
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Mi chat no envía los mensajes

functions.js

Código:
$(document).ready(function(){
	var url = $("#url").val();
	$("#install").submit(function(){
		$.ajax({		
	        url: $(this).attr("action"),
            type: $(this).attr("method"),
            data: $(this).serialize(),
	        success:function(data){
				if(data.length > 50){
            		$("#resultado_instalacion").fadeIn("slow").html("<span id='error_instalacion'>Hubo un error!</span>");
            	}else{
            		$("#resultado_instalacion").fadeIn("slow").html("<span id='procesado'>Chat instalado!</span>");
	            	$("#link_login").fadeIn("slow").html("<a href='"+$("#url").val()+"'>Crear una cuenta</a>");
            	}           
	        }
	    });
	    return false;
	});
}); 

//envíamos el form del chat
$(document).ready(function(){
    $("#form").submit(function(e){
        e.preventDefault();
        if( $("#message").val().length <= 1){
            $("#message").focus().after(alert('Escriba como mínimo 1 carácteres para el mensaje'));
            return false;
        }else{
            $.ajax({
                url: $(this).attr("action"),
                type: $(this).attr("method"),
                data: $(this).serialize(),
                success:function(){
                    $("#message").attr("value", "").focus();
                }
            });
            return false;
        }
    });
});

//envíamos el form del chat
$(document).ready(function(){
    $("#form_private").submit(function(e){
        e.preventDefault();
        if( $("#p_message").val().length <= 5){
            $("#p_message").focus().after(alert('Escriba como mínimo 6 carácteres para el mensaje'));
            return false;
        }else{
            $.ajax({
                url: $(this).attr("action"),
                type: $(this).attr("method"),
                data: $(this).serialize(),
                success:function(){
                    $("#p_message").attr("value", "").focus();
                }
            });
            return false;
        }
    });
});

//refrescamos el div con id y actualizamos datos
function refresh()
{
	
    $("#conversacion").load("class_users/get_messages.php");    
	$("#ranking").load("class_users/get_ranking.php"); 
}

//hacemos uso correcto del scroll 
function scroll()
{
    setInterval(function(){
        if(window.parar)return;
        document.getElementById("conversacion").scrollTop=document.getElementById("conversacion").scrollHeight
        }, 100);
}

//actualizamos la función refresh cada medio segundo
setInterval(refresh,500);

//cargamos los usuarios online en el div con id online
function online()
{
	
    $("#online").load("class_users/get_users_online.php");
} 

function check_online()
{
	
    $.post("class_users/check_online.php");
}

//función para enviar una invitación privada a un usuario
function privado(username){
 
 jConfirm("¿Deseas invitar a " + username + " ?", "Invitación privado", function(r) {  
  if(r) { 
  $.post('class_users/send_like.php',{username:username}, function(){
  $("#privado").fadeIn('slow').animate('2000');
  }); 
  }else{
  jAlert('Se ha cancelado la invitación', "Invitación privado");
  }
 });
};

//mostramos la invitación al usuario que va dirigida
function retrieve()
{
	 
     $("#invites").load("class_users/show_invites.php");
}

//cargamos los mesajes privados en el div con id privado
function load_privates()
{
	 
     $("#pantalla_privada").load("class_users/private_messages.php");
}

function scroll_privates()
{
    setInterval(function(){
        if(window.parar)return;
        document.getElementById("pantalla_privada").scrollTop=document.getElementById("pantalla_privada").scrollHeight
        }, 100);
}

setInterval(load_privates,2000);

//función para aceptar un privado
function accept(id)
{   
	 
     $.ajax({
        url: "class_users/response.php",
        type: "POST",
        data: { id : id },
        success:function(){
            $("#invites").fadeOut('slow');
            $("#privado").fadeIn('slow').animate('2000');
        }
    });
}

//función para rechazar el privado avisando con un confirm
function denied()
{
	
   jConfirm("Si cierras la ventana se eliminará la conversación, ¿Estás seguro?", "Cerrar privado", function(r) {  
   if(r) { 
     $.ajax({
        url: "class_users/reject.php",
        type: "POST",
        success:function(){
            jAlert("La conversación ha sido eliminada.");
            $("#invites").slideUp('slow');
            $("#privado").slideUp('slow');
        }
     })
      }else{
          return false;
      }
    });
}
//funcion para poner el código de los smileys en el campo de texto con id message
function get_smileys(chars) {
    		var mensaje = document.getElementById("message");
    		mensaje.value += chars;
                mensaje.focus();
}

//saber si un usuario tiene o no un privado abierto y en ese caso mostramos ventana
function check_private()
{
	
    $.ajax({
        url: "class_users/check_private.php",
        type: "POST",
        data: { username : $("#user").val() },
        success:function(respuesta){
            if(respuesta == 1)
            {
                $("#privado").fadeIn('slow').animate('2000');    
            }else{
                $("#privado").fadeOut('slow').animate('2000');
            }  
            return false;
        }
        
    });
}
//comprobamos si tenemos una invitación pendiente y si es así la mostramos
function check_confirm()
{
	
    $.ajax({
        url: "class_users/check_confirm.php",
        type: "POST",
        data: { username : $("#user").val() },
        success:function(respuesta){
            if(respuesta == 1)
            {
                $("#invites").fadeIn('slow').animate('2000');    
            }else{
                $("#invites").fadeOut('slow').animate('2000');
            }  
            return false;
        }      
    });
}

//hacemos logout del chat
function logout()
{
	
    jConfirm("¿Deseas salir de la aplicación?", "Cerrar chat", function(r) {  
        if(r) { 
            window.location.href= 'class_users/logout.php';
        }else{
            jAlert('Se ha cancelado la acción');
        }
    });
}
//autologout
function auto()
{
	
   $.ajax({
        url: "class_users/auto_logout.php",
        type: "POST",
        data: { username : $("#user").val() },
        success:function(respuesta){
            if(respuesta == 1)
            {
                window.location.href= 'class_users/logout.php';    
            } 
            return false;
        }      
    });
}

function delete_messages_more_time()
{
    $.post("class_users/maintance_messages.php");
}
//lanzamos las funciones online y retrieve cada x segundos con setInterval
setInterval(auto,5000);
setInterval(delete_messages_more_time,600000);
setInterval(check_online,15000);
setInterval(check_confirm,4000);
setInterval(check_private,4000);
setInterval(online,4000);
setInterval(retrieve,10000);
Y se supone que lo envía a class_users/send_messages.php

Código:
<?php
require_once 'users.php';
$message = $_POST['message'];
$user = $_SESSION['username'];
$color = $_POST['color'];
$negrita = $_POST['negrita'];
if($_POST['negrita']){
    $negrita = $_POST['negrita'];
}else{
    $negrita = 'normal';
}
$subrayado = $_POST['subrayado'];
if($_POST['subrayado']){
    $subrayado = $_POST['subrayado'];
}else{
    $subrayado = 'none';
}
$singleton = users::singleton();
$singleton->message($user,$message,$color,$negrita,$subrayado);
header("Location: ../sala_chat.php");
?>

Etiquetas: chat, html, mensajes, php, registro, usuarios
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 08:02.