quello che fai col php è restituire una pagina a seconda delle richieste GET del sito
index.php?pag=htm/_calendario&liv=1&liv2=2&gio=1
problema numero 1
te lo chiarirò in pvt ... per ora posso consigliarti di approfondire le problematiche di sicurezza che riguardano il PHP
problema numero 2
la pagina _calendario la includi dinamicamente ed al suo interno verifichi i valori liv, liv2 e gio.
Queste sono le variabili che dovresti utilizzare anche con ajax ma la pagina adibita alla risposta deve farti tornare solo il contenuto centrale della paginae non tutta la pagina altrimenti ti ritrovi il sito innestato su se stesso.
Tale contenuto dovrà quindi essere solo quello che mostra Giornata N° ed il resto
<div class="testo3" align="center">Giornata 2</div> ... etc etc ....
la richiesta asincrona non deve ricevere altro o rischia di diventare inutile.
Detto questo, per rendere la pagina compatibile con i browsers più o meno vecchi (degradabile per chi non ha javascript) non devi fare niente sulla pagina ma agire direttamente via JS perchè i links sono già completi di variabili da inviare.
questo significa che puoi fare così (è solo un esempio):
codice:
// oggetto XMLHttpRequest
// dalla guida con furore,
// uno dei modi migliori per prendere l'elemento
// che non usa il fastidioso try catch che da errori
// su browsers datati a prescindere (tipo IE4 o altri)
function assegnaXMLHttpRequest() {
var XHR = null,
browserUtente = navigator.userAgent.toUpperCase();
if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
XHR = new XMLHttpRequest();
else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) {
if(browserUtente.indexOf("MSIE 5") < 0)
XHR = new ActiveXObject("Msxml2.XMLHTTP");
else
XHR = new ActiveXObject("Microsoft.XMLHTTP");
};
return XHR;
};
// funzione a caricamento pagina
onload = function(){
// verifico che il browser sia compatibile con
// getElementsByTagName
if(document.getElementsByTagName) {
// prendo tutti i links della pagina
var links = document.getElementsByTagName("A"),
i = links.length;
// li ciclo tutti
while(i--) {
// verifico che il link sia del calendario
// (contiene quindi questo pezzo di stringa)
if(links[i].href.indexOf("index.php?pag=htm/_calendario") > 0) {
// assegno l'evento onclick che dovrà sfruttare ajax
links[i].onclick = function(){
var ajax = assegnaXMLHttpRequest();
// verifico che la variabile non sia nulla
if(ajax != null) {
// assegno la pagina da caricare
ajax.open("get", this.href + "&ajax=true", true);
ajax.send(null);
ajax.onreadystatechange = function(){
// a caricamento finito
if(ajax.readyState === 4) {
// scrivo il risultato sul div "calendario"
document.getElementById("calendario").innerHTML = ajax.responseText;
};
};
};
// l'evento deve ritornare false per
// evitare che parti il link vero e proprio
return false;
};
};
};
};
// richiamo l'altra funzione init che usi
init();
};
l'ulteriore variabile in GET appesa al link da richiamare è utile per mostrare nella pagina PHP solo la parte centrale invece di mostrare tutta la pagina.
Ad esempio avrai
if(isset($_GET["ajax"]) && $_GET["ajax"] === "true") {
// mostri solo il contenuto e non tutto il sito
}
Tutto questo l'ho scritto senza avere la benchè minima idea di come sia strutturato il tuo sito, quindi spero funzioni o che tu riesca a riadattarlo , sempre che tu abbia capito.