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(/ /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