Sto cercando di realizzare una pagina, in cui una parte dei contenuti venga caricata - tramite richiesta ad una pagina .php - in base alla selezione fatta dall'utente.
Quindi, ho questo codice JS:
Codice PHP:
<script language="JavaScript" type="text/JavaScript">
function 
createRequestObject() { 
var 
ro
var 
browser navigator.appName
if (
browser == "Microsoft Internet Explorer") { 
ro = new ActiveXObject("Microsoft.XMLHTTP"); 
} else { 
ro = new XMLHttpRequest(); 

return 
ro

var 
http createRequestObject(); 
function 
sndReq(action) { 
http.open('get''loadata.php?action='+action); 
http.onreadystatechange handleResponse
http.send(null); 

function 
handleResponse() { 
if (
http.readyState == 4) { 
var 
response http.responseText
var 
update = new Array(); 
var 
loadata 'loadata';
update document.getElementById(loadata).innerHTML update[0]; 
    } 
}
</script> 
Nella pagina, ho questo HTML:
Codice PHP:
[url="javascript:sndReq('full')"][b]international[/b][/url

[
url="javascript:sndReq('eu')"][b]europe[/b][/url

[
url="javascript:sndReq('am')"][b]america[/b][/url

[
url="javascript:sndReq('as')"][b]asia[/b][/url

[
url="javascript:sndReq('au')"][b]australia[/b][/url

[
url="javascript:sndReq('af')"][b]africa[/b][/url

<
div id="loadata" style="position:absolute;top:150;left:15;width:720;height:303; overflow:auto; padding:3"></div
Mentre la pagina .php richiamata contiene questo codice:
Codice PHP:
require "config.php";
switch(
$_REQUEST['action']) {
          case 
'full'$loc "full";
          case 
'eu'$loc "eu";
          case 
'am'$loc "am";
          case 
'as'$loc "as";
          case 
'au'$loc "au";
          case 
'af'$loc "af";
        echo 
"[i]<font color=\"#0279d1\">This is the last 10 news, selected by location: [b]" $loc "[/b]</font>[/i]
"
;
$link mysql_connect($host$dbuser$dbpass)
    or die(
"Impossibile connettersi al database");
mysql_select_db($dbname)
    or die(
"Impossibile selezionare il database");    
        
$result mysql_query("SELECT * FROM `news` WHERE `location` = '$loc' ORDER BY `news_id` DESC LIMIT 10");
        while (
$row mysql_fetch_array($result)) {
        
$tit $row["title"];
        
$tit strtoupper($tit);
        echo 
"<hr>[b]<font color=\"#0279d1\">" $tit "</font>[/b]
"
;
        echo 
$row["text"] . "
"
;
        
$mail $row["email"];
        if (
$mail !== "") {
        
$mail strtolower($mail);
        echo 
"E-mail: [b]<a href=\"mailto:" $mail "\">" $mail "</a>[/b]
"
;
        }
        
$link $row["link"];
        if (
$link !== "") {
        
$link strtolower($link);
        echo 
"Web: [b]<a href=\"http://" $link "\" target=\"_blank\">" $link "</a>[/b]
"
;
        }
        
$start $row["start"];
        if (
$start !== "") {
        echo 
"Opening: [b]<font color=\"#0279d1\">" $start "</font>[/b]
"
;
        }
        
$dead $row["deadline"];
        if (
$dead !== "") {
        echo 
"Deadline: [b]<font color=\"#0279d1\">" $dead "</font>[/b]
"
;
        }
        echo 
"
<font size=\"-1\">Location: [b]<font color=\"#FF0000\">" 
$row["location"] . "</font>[/b]</font>
"
;
        echo 
"<font size=\"-1\">Tag: [b]<font color=\"#FF0000\">" $row["tag"] . "</font>[/b]</font>
"
;
        echo 
"<font size=\"-1\">kind: [b]<font color=\"#FF0000\">" $row["kind"] . "</font>[/b]</font>
"
;
        }
        echo 
"

"
;
            } 
Però, quando vado a fare un test, cliccando uno qualunque dei link predisposti mi da come risultato undefined.
É la prima volta che mi cimento con l'interfacciamento AJAX/PHP, quindi è molto probabile che stia facendo qualche fesseria...

Qualcuno sa darmi una mano?