si devi fare così
pagina html
codice:
<html>
<head>
<script type="text/javascript">
function showData(str)
{
if (str=="")
{
document.getElementById("showData").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("showData").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getdata.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<table width="800" border="1">
<tr><td colspan="2">
<center><h2>Cambiare Dinamicamente il contenuto di una pagina con Ajax & PHP</h2></center></td>
</tr>
<tr>
<td width="200">
<form>
<input type="button" onclick="showData(this.value)" value="voce 1"/>
<input type="button" onclick="showData(this.value)" value="voce 2"/>
<input type="button" onclick="showData(this.value)" value="voce 3"/>
<input type="button" onclick="showData(this.value)" value="voce 4"/>
</form>
</td>
<td><div id="showData">usa il menu per cambiare contenuto</div></td>
</tr>
</table>
</body>
</html>
getdata.php
Codice PHP:
<?php
$q=$_GET["q"];
if ($q=="voce 1") {echo "Contenuto pagina 1";}
if ($q=="voce 2") {echo "Contenuto pagina 2";}
if ($q=="voce 3") {echo "Contenuto pagina 3";}
if ($q=="voce 4") {echo "Contenuto pagina 4";}
?>
se nel file html cambi la voce che si visualizza nel bottone che attualmente è voce1, voce2, etc devi mettere lo stesso nome anche le file php dove ora c'è $q=="voce 1", $q=="voce 2" quindi se nel bottone della prima pagina vuoi scrivere "chi siamo" il file php diventa così
Codice PHP:
<?php
$q=$_GET["q"];
if ($q=="chi siamo") {echo "Contenuto pagina 1";}
if ($q=="voce 2") {echo "Contenuto pagina 2";}
if ($q=="voce 3") {echo "Contenuto pagina 3";}
if ($q=="voce 4") {echo "Contenuto pagina 4";}
?>