Salve, ho un form (con method post, puntante alla stessa pagina, ovvero i codici lato server stanno nella stessa pagina) con un input text di nome "messaggio" e dovrei far in modo che quando un utente lascia quella pagina eseguisse una chiamata ajax dove praticamente viene inviato un dato al form (nell' input text è come se dovesse scrivere "Utente uscito"), quindi avevo provato a scrivere questi codici:
Codice PHP:
<script type="text/javascript">
<!--//
function bye() {
ajax.open("post", "shout.php", true);
ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
ajax.send("messaggio=utente uscito.");
}
//-->
</script>
e l' ho richiamato in questo modo:
Codice HTML:
<body onUnload="bye();">
Ovviamente la pagina in questione è shout.php, il problema è che non viene eseguita questa chiamata. Come mai? I codici del form sono i seguenti:
Codice PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
Messaggio: <input type="text" name="messaggio" style="width: 400px" maxlength="250"><input type="submit" value="Invia" name="invia"></form>
e nel php prelevo il contenuto di "messaggio" così:
Codice PHP:
$messaggio = htmlspecialchars($_POST['messaggio']);