Foros del Web » Programando para Internet » Javascript »

Actualizar la base de datos antes de que se cierre la pagina

Estas en el tema de Actualizar la base de datos antes de que se cierre la pagina en el foro de Javascript en Foros del Web. Quiero dar de baja de la base de datos SQL, cuando un usuario abandona una página. He creado un script jquery-Ajax, que aprovecha el evento ...
  #1 (permalink)  
Antiguo 30/05/2014, 08:37
 
Fecha de Ingreso: octubre-2010
Mensajes: 31
Antigüedad: 13 años, 6 meses
Puntos: 1
Actualizar la base de datos antes de que se cierre la pagina

Quiero dar de baja de la base de datos SQL, cuando un usuario abandona una página.

He creado un script jquery-Ajax, que aprovecha el evento "beforeunload" para enviar datos antes de que la pagina se cierra...

Index.php

<?php
$roomx='myroom';
$number=2;
$user='Anonimous';
?>

<html>
<head>
<title>Testing action on unload</title>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'></script>
</head>
<body>
<p>Ajax Response</p>

</body>
<script type="text/javascript">
$(document).ready(function() {
$(window).one('beforeunload',function(event) {
event.preventDefault();

$.ajax({
url: 'logout.php', //put your url here
type: 'GET',
async: true,
data: 'roomx=justin&user=angel',
error: function(xhr,status,e) { console.log('error'); },
success: function(data, textStatus, xhr) { $('#resp').html(xhr.responseText);},
complete: function(xhr, status) {alert('Now closing window'); //put your popup here

$(window).unload();
}
});
});
});
</script>
</html>

Envia los datos a la pagina logout.php que los procesa:

<?php
if($_GET)
{
$roomx=$_GET['roomx'];
$user=$_GET['user'];
$age=$_GET['age'];

echo "room : ".$roomx;


// CONECTAMOS A LA BASE DE DATOS Y ANADIR LOS VIEWERS QUE VAN ENTRANDO
$conexion=mysqli_connect("localhost","root","elzor ro","chatinnew");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

//Insertamos el usuario
mysqli_query($conexion,"INSERT INTO uwslv_chatin(room,user_id,username) VALUES ('$roomx',2,'$user')") or die ("Problemas con insert".mysql_error());

//Cerramos base de datos
mysqli_close($conexion);


}
?>


PREGUNTA 1: El código funciona con Mozilla Firefox, pero no con Chromium... ¿alguien sabe por que?
PREGUNTA 2: Alguien tiene idea de cómo eliminar la alerta que aparece en Firefox de dice "Esta seguro de cerrar la pagina...?"

Gracias de antemano por cualquier ayuda

Etiquetas: cierre, funcion, html, js, php
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 17:23.