Originariamente inviato da stiffa
Ragazzi...o in js o in php dovevo pur postarlo....
ho scelto il forum javascript poiche prendo in considerazione l'evento onunload...

Il mio problema e' che su quell'evento e solo su quell'evento devo richiamare una funzione javascript....come posso fare?
Certo che si può chiamare una funzione javascript sull'evento onunload, ma ...
Originariamente inviato da stiffa
ho provato cosi ma non funzia...
window.onunload=function(){
<?php
$mgt->logoff($sess_id,0);
?>
}
... dunque, lo dico anche se lo sai:
l'evento onunload scatta 'a casa del client', ovviamente, quando l'utente chiude la pagina.
ore:
la pagina, ovviamente, è già completamente caricata ed è stata 'disegnata' sul client dal tuo server php che, quando ha finito di 'disegnarla', aspetta che il client lo richiami per fare qualcos'altro.
quindi:
il codice:
Codice PHP:
window.onunload=function(){
    <?php
       $mgt
->logoff($sess_id,0);
    
?>
}
come pensi possa funzionare sul client???
L'unico approccio che vedo è quello di implementare una funzione ajax sincrona (che aspetta la risposta!) in javascript sul client che, a fronte dell'evento onunload invii la notifica della chiusura al server.
Però c'è un side effect non da poco:
Mettiamo che nel momento in cui il client chiude la pagina e venga scatenato l'evento onunload gli cada la connessione .....
La funzione ajax (sincrona) tenta di comunicare al server la chiusura ma non ci riesce ... e la finestra non si chiude...
Nota: se andr3a è in ascolto ti spiegherà meglio .. io sono un po' negato con le spiegazioni :-)
ciao
Zappa