Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/03/2009, 06:53
utopiko
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 9 meses
Puntos: 2
Ajax + Php en evento OnUnLoad(Casi Funciona)

Buenas os cuento lo que me paso y lo que quiero lograr...

tengo una tabla de sesiones donde almaceno la informacion relativa a las sesiones(ids, usuario, tiempodeinicio, tiempodefinal). Al entrar en la aplicacion todos esos datos se guardan en la tabla datos, luego lo que quiero es que tiempodefinal se me actualize en la base de datos, cada vez que haga un onUnLoad, pero claro la unica forma es hacerlo con un window.open y se me mostraria la ventanita aunque no mostrase nada por pantalla. Con Ajax se podria solucionar este problema??

De momento tengo este codigo:

ajax.js
Código PHP:
function MyAjax() {
var 
xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (
e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (
E) {
xmlhttp false;
}
}

if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}

return 
xmlhttp;
}

function 
ClearHTML(sHTML) {
sHTML sHTML.replace(/<[^>]*>/gi"");
sHTML sHTML.replace( /n/gi"") ;
sHTML sHTML.replace(/&nbsp;/gi"");

return 
sHTML;

borrar_temp.php
Código PHP:
<?
session_start
();
require_once(
"inc/functions.inc.php");
require_once(
"inc/sections.inc.php");
require_once(
"inc/conection.inc.php");

$Hoy=date("Y-m-d")." ".date("H:m:s");
$sql="update sesiones set session_destroy='".$Hoy."' WHERE session_id='".$_SESSION['IdSession']"'";
echo 
"<scrypt type='text/javascript'>alert('Ok');</script>";
mysql_query($sql);
session_destroy();


?>
principal.php
Código PHP:

<html>

<
head><script language="javascript" src="js/ajax.js" type="text/javascript"></script>
<script language="Javascript" type="text/javascript">
//Función para guardar tu informacion en bd utilizando ajax.
function cargarContenido()
{
var miAjaxObj = MyAjax();
miAjaxObj.open("GET","borrar_temp.php",true);
miAjaxObj.send(null);
alert("ejecutado");
}
</script></head>

<body onunload="cargarContenido();"></body>
</html> 
El alert que pone ejecutado lo hace, pero en la parte de PHP no hace nada de nada, ni el query ni el alert!!!

Saludos

Última edición por utopiko; 01/04/2009 a las 05:00 Razón: Cambio titulo