Sistema de Chat en Vivo Con Ajax PHP y MySQL
Sistema de Chat en Vivo Con Ajax PHP y MySQL
baulphp.com/sistema-de-chat-en-vivo-con-ajax-php-y-mysql
24 de enero de 2019
Sistema de chat en vivo con Ajax, PHP y MySQL. Hoy en día la comunicación prima en todo
sistema web o aplicación de chat, estos sistemas se utiliza principalmente para comunicarse
con personas, potenciales clientes y usuarios de algún servicio, etc.
Ahora, tener un chat en nuestra organización es muy importante para cualquier tipo de
negocio, ya que la mayoría de servicios por internet tiene su sistema de chat integrado
en sus sitios web para una constante comunicación con sus clientes.
Por lo tanto, si usted está buscando para desarrollar su propio sistema de chat, entonces
estás aquí en el lugar correcto en donde le mostraremos de una manera simple como
implementar un chat para sus sistema web.
En este artículo web aprenderás cómo desarrollar un modelo de chat en vivo usando
herramientas y lenguajes de programación existentes en el mercado como ser el: Ajax, PHP
y MySQL.
1/8
Sistema de Chat con PHP y MySQL
A continuación, veremos una serie de pasos que necesitaremos para tener nuestro propio
CHAT en línea.
1. Index.php
2. login. php
3. chat. js
4. Container.php
5. chat_action. php
6. logout. php
7. Chat. php
8. Footer.php
9. logout.php
10. php_chat.sql
Nuestra base de datos tendrá como nombre “php_chat.sql” y en ella vamos a crear tablas
de base de datos MySQL que se utilizan para almacenar la información del sistema de chat.
Por lo tanto, vamos a crear la tabla chat_users para almacenar a los usuarios y sus
2/8
respectivas sesiones.
A continuación, también insertamos registros de usuarios como ejemplo para que funcione
nuestro chat.
Siguiendo con la instalación, crearemos la tabla de “chat” para almacenar los detalles del
chat.
En esta sección vamos a crear la interfaz de inicio de sesión de chat (Formulario HTML5) en
login.php, que nos permitirá iniciar sesión en el sistema de chat.
3/8
<div class="row">
<div class="col-sm-4">
<h4>Chat Login:</h4>
<form method="post">
<div class="form-group">
<?php if ($loginError ) { ?>
<div class="alert alert-warning"><?php echo $loginError; ?></div>
<?php } ?>
</div>
<div class="form-group">
<label for="username">User:</label>
<input type="username" class="form-control" name="username" required>
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" name="pwd" required>
</div>
<button type="submit" name="login" class="btn btn-info">Login</button>
</form>
</div>
</div>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js">
</script>
<link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/font-
awesome/4.6.2/css/font-awesome.min.css'>
<link href="css/style.css" rel="stylesheet" id="bootstrap-css">
<script src="js/chat.js"></script>
Para terminar vamos a obtener detalles del chat actual del usuario de chat activo utilizando
el método de chat getUserChat() de chat.php y mostrar los detalles del chat.
4/8
<div class="contact-profile" id="userSection">
<?php
$userDetails = $chat->getUserDetails($currentSession);
foreach ($userDetails as $user) {
echo '<img src="userpics/'.$user['avatar'].'" alt="" />';
echo '<p>'.$user['username'].'</p>';
echo '<div class="social-media">';
echo '<i class="fa fa-facebook" aria-hidden="true"></i>';
echo '<i class="fa fa-twitter" aria-hidden="true"></i>';
echo '<i class="fa fa-instagram" aria-hidden="true"></i>';
echo '</div>';
}
?>
</div>
<div class="messages" id="conversation">
<?php
echo $chat->getUserChat($_SESSION['userid'], $currentSession);
?>
</div>
<?php
session_start();
include ('Chat.php');
if($_POST['action'] == 'insert_chat') {
$chat->insertChat($_POST['to_user_id'], $_SESSION['userid'], $_POST['chat_message']);
}
?>
5/8
function updateUserList() {
$.ajax({
url:"chat_action.php",
method:"POST",
dataType: "json",
data:{action:'update_user_list'},
success:function(response){
var obj = response.profileHTML;
Object.keys(obj).forEach(function(key) {
// update user online/offline status
if($("#"+obj[key].userid).length) {
if(obj[key].online == 1 && !$("#status_"+obj[key].userid).hasClass('online')) {
$("#status_"+obj[key].userid).addClass('online');
} else if(obj[key].online == 0){
$("#status_"+obj[key].userid).removeClass('online');
}
}
});
}
});
}
function updateUserChat() {
$('li.contact.active').each(function(){
var to_user_id = $(this).attr('data-touserid');
$.ajax({
url:"chat_action.php",
method:"POST",
data:{to_user_id:to_user_id, action:'update_user_chat'},
dataType: "json",
success:function(response){
$('#conversation').html(response.conversation);
}
});
});
}
6/8
function updateUnreadMessageCount() {
$('li.contact').each(function(){
if(!$(this).hasClass('active')) {
var to_user_id = $(this).attr('data-touserid');
$.ajax({
url:"chat_action.php",
method:"POST",
data:{to_user_id:to_user_id, action:'update_unread_message'},
dataType: "json",
success:function(response){
if(response.count) {
$('#unread_'+to_user_id).html(response.count);
}
}
});
}
});
}
<?php
session_start();
include ('Chat.php');
$chat = new Chat();
$chat->updateUserOnline($_SESSION['userid'], 0);
$_SESSION['username'] = "";
$_SESSION['userid'] = "";
$_SESSION['login_details_id']= "";
header("Location:index.php");
?>
7/8
Sistema de chat en vivo con Ajax, PHP
A continuación les dejare un archivo para que puedan descargar e implementarlo. El fichero
que les dejare incluye base de datos.
Chat en vivo Chat jQuery Chat PHP Implementar Chat Instalar Chat
8/8