ti mando una paginetta di esempio. E' fatta in asp, ma ho messo commenti e penso si possa adattare a php.
1) uso la libreria prototype-1.4.0.js recuperabile all'indirizzo:
http://prototype.conio.net/ con un aiuto qui:
http://www.fabryprog.it/from_sergiop...totype.js.html
2) nel client genero un numero casuale da 1 a 10.
Lo spedisco nel server con ajax
Lo sommo alla variabile di sessione
Restituisco al client la variabile di sessione
codice:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
//verifico se ho ricevuto un comando ajax
string ajax_comando = this.Request.QueryString["ajax_comando"];
if (ajax_comando == "1") proceduraAJAX1();
}
void proceduraAJAX1()
{
//recupero il numero ricevuto (da 1 a 10)
string random = this.Request.Form["random"];
//lo aggiungo alla variabile session random
object o = this.Session["random"];
if (o == null)
this.Session.Add("random", int.Parse(random));
else
this.Session["random"] = (int)this.Session["random"] + int.Parse(random);
string s = "Parametro random ricevuto = " + random + "
"
+ "variabile sessione = " + this.Session["random"];
this.Response.Write(s);
this.Response.End();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Pagina senza titolo</title>
<link href="../stili/Styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../js/prototype-1.4.0.js"></script>
<script language="javascript" type="text/javascript">
// <!CDATA[
function Button1_onclick()
{
//in questo esempio genero un numero random
//lo mando al server e la sommo alla variabile
//session random. Dopo di che la restituisco al client
//url: ? == pagina corrente
//ajax_comando=1 -> dice al server la procedura da seguire
var url = "?ajax_comando=1";
//formato variabile1=valore1&variabile2=valore2...
var parametri = "random=" + random(1,10);
var j = new Ajax.Request(url,
{
parameters:parametri,
//funzione richiamata alla ricezione della risposta
onComplete: showResponse
}
);
function showResponse(r)
{
document.getElementById("div1").innerHTML = r.responseText;
}
}
//restituisce numero casuale compreso tra kLo e iHi, compresi
function random(iLo, iHi)
{
return Math.floor(iLo + (Math.random() * (iHi - iLo + 1)));
}
// ]]>
</script>
</head>
<body>
<form id="form1" runat="server">
Spedisco un numero random al server, lo sommo alla variabile di sessione e visualizzo la variabile di sessione nel client
<div id="div1"></div>
</form>
</body>
</html>