Estoy haciendo una especie de chat privado para mi web, y la verdad queria saber como insertar datos en la DB mediante Jquery (ajax)
Porque creo que con php tendria que si o si recargar la web y eso es una mala experiencia.
Bueno, tengo este code que al presionar enter deberia de mandar el mensaje, pero no me funciona, a ver si pueden hecharle un ojo
Código Javascript:
Este es el procesar.phpVer original
$(document).ready(function(){ $("#textarea_mensaje").live('keypress',function() { if(event.keyCode==13){ var usuario==$("#usuario").val(); var mensaje==$("#textarea_mensaje").val(); jQuery.post("procesar.php",{usuario:usuario,mensaje:mensaje},function(data,textStatus){ if(data==1){ $("#mensajes").html("No ha funcionado"); }else{ $("#mensajes").html("Ha funcionado"); }); } }); });
Código PHP:
<?php
require('config.php');
mysqli_select_db($conexion,$db_web)or die("Error al seleccionar la base de datos");
$usuario = $_POST['usuario'];
$mensaje = $_POST['mensaje'];
mysqli_query("INSERT INTO chat(`usuario`,`mensaje`) VALUES('$usuario','$mensaje')");
if(mysqli_affected_rows()>0){
echo "1";
}
else{
echo "2";
}
?>
Lo hagan caso a lo que esta escrito... son referencia para poder crear la estructura teniendo en cuenta el contenido
Código HTML:
<div id="chat"> <div id="mensajes"> Admin dice: Este es un ejemplo de la creacion de un chat custom para paginas privadas, donde se requiere tener una cuenta y estar conectado para poder utilizarlo. </div> <div id="mensaje"> <textarea name="mensaje" id="textarea_mensaje">Aqui se escribira el mensaje a enviar en la conversacion del chat</textarea> </div> <div id="usuarios"> Administrador </div> <div id="caja_emotes"> </div> <div id="sector_colores"> <input type="text" name="usuario" id="usuario" value="customizacion-wow" disabled/> </div> </div>
Entonces otra pregunta ¿Asi como esta esto deberia de funcionar? (Teniendo en cuenta que al precionar enter se ejecute el script)..
La verdad es algo mas complejo de lo que imagine, por eso requiero de su ayuda .
Espero que me puedan ayudar y gracias de antemano!!