Salve mi dicono che questa discussione andava spostata in questo sezione per cui eccola qui

io sono alle prese con il seguente codice che vi posto
Codice PHP:
<?php 

/*PAGINA per l'inserimento di una macchina,gestisce anche tutta la logica per il blocco delle password delle utenze 
*/ 


include ("config/function.inc"); 
include (
"checksession.php"); 


$userid=$_SESSION['userid']; 

$scelta=$_POST['scelta']; 
$campo=$_POST['campo']; 


$i=0
$conn=DBConn(); 
?> 
<html> 
    <head> 
        <title>Risultati Ricerca</title> 
            <style type="text/css"> 
                <!-- 
                #allinea { 
                        line-height: 30px; 
                        } 
                --> 
            </style> 
             

             
<script language="JavaScript" > 

var utenze=new Array(); // array in cui vengono inserite tutte le utenze 
var id=new Array(); // array dove si inserisce l'id macchina per ogni utenza 
var coppia=new Array(); //array per la gestione della coppia utente-utenza che servirà per verificare gli accessi all'utenza della macchina quando questa è già lockata 
var wImage = false; //variabile per la modifica dell'immagine relativa all'utenza,cambia se l'utenza è lockata o meno 
var numero; 
var k=0; 
var XMLRe=null; 

<?php 

        
if($scelta=="hostname"){ 
        
$query="SELECT * FROM macchina WHERE hostname='".$campo."';"
        
$query2="SELECT * FROM macchina M,utenza U WHERE M.idMacchina=U.macchinaIdMacchina AND M.hostname='".$campo."'"
        } 
        else { 
        
$query="SELECT * FROM macchina WHERE Ip='".$campo."';"
        
$query2="SELECT * FROM macchina M,utenza U WHERE M.idMacchina=U.macchinaIdMacchina AND M.ipfisico='".$campo."'"
        } 
         
       if ( 
$risultato=DBEsegui($query,$conn))        
         { 
         
$k=0
            while(
$riga=mysql_fetch_array($risultato)) 
                { 
                  
$utenza=DBEsegui($query2,$conn); 
                   
                  while(
$res=mysql_fetch_array($utenza)) 
                    { 
                        
?> 
                        utenze[<?echo $k?>]= <? echo $res['user']; ?>
                        id[<?echo $k?>]= <? echo $res['macchinaIdMacchina'];?>
                        <?$k=$k+1
                    } 
                } 
        } 
?> 

function makeXMLRequest(){ 
    alert("entrato in makeXMLRequest"); 
    var request=undefined; 
    if(window.XMLHttpRequest){ 
        request=new XMLHttpRequest(); 
        if(request.overrideMimeType){ 
            request.overrideMimeType("text/xml"); 
        } 
    }else{ 
        if(window.ActiveXObject){ 
            try{ 
                request=new ActiveXObject("Msxml2.XMLHTTP"); 
            }catch(e){ 
                try{ 
                    request=new ActiveXObject("Microsoft.XMLHTTP"); 
                }catch(e){ 
                } 
            } 
        } 
    } 
    return request; 



function getDataSimple(XMLRe,dataSource,divID){ 
    alert("entrato in getdatasimple....XMLRe: "+XMLRe); 
    alert("datasource= "+dataSource); 
    alert("div= "+divID); 
    if(XMLRe){ 
        var obj=document.getElementById(divID); 
        XMLRe.open("GET",dataSource); 
        XMLRe.onreadystatechange=function (){ 
            if(XMLRe.readyState==4){// la funzione ha finito di reperire i dati 
                if(XMLRe.status==200){ 
                    obj.innerHTML=XMLRe.responseText; 
                } 
                if(XMLRe.status==404){ 
                    alert("Pagina non trovata"); 
                } 
                if(XMLRe.status==500){ 
                    alert("Errore interno del server"); 
                } 
            } 
        } 
         
         
        XMLRe.send(null); 
    } 


/* 
//funzione che inserisce una nuova utenza nell'array relativo 
function insertUtenza(nome){ 

    alert("entrato in insertutenza"); 
utenze[utenze.length]=nome; 


//funzione che inserisce una l'id della macchian riferito ad un'utenza nell'array relativo 
function InsertID(num){ 

    alert("entrato in insertid"); 
id[id.length]=num; 

*/ 


//funzione che controlla se un 'utenza è bloccata o meno 
function ControlLock(num){ 
    numero=num; 
    XMLRe=makeXMLRequest(); 
    alert("xmlre eccomi qua= "+this.XMLRe); 
    var datasource="ctrlmac.php?id="+id[numero]+"&user="+utenze[numero]; 
    alert("link="+datasource); 
    getDataSimple(XMLRe,datasource,null); 
    if(XMLRe.readyState==4 && XMLRe.status==200){ 
    var stato=XMLRe.responseText; 
    if (stato==0){ 
        alert("l'utenza risulta dismessa"); 
        return; 
        } 
        else if(stato==2){ 
            alert("L'utenza risulta essere già in uso"); 
            return; 
            } 
            else if(stato==666){ 
                    alert("La Macchina è dismessa"); 
                    return; 
                    } 
                else acceptLock(utenza[num],id[num]); 
                } 


//funzione verifica se l'utente vuole davvero bloccare quella password/utenza e avvia le operazioni di bloccaggio e visualizzazione della password 
function acceptLock(utenza,id){ 
     
    var password; // variabile per il salvataggio della password relativa all'utenza lockata 
    if(confirm("Lockare e visualizzare la password per l'utenza?")) 
    { 
        AggiornaUtenzaSessione(utenza,id); 
        password=lockPassword(utenza,id); 
        viewPassword(password); 
        AceJSswapper(numero); 
    } 
    else return; 


function AggiornaUtenzaSessione(utenza,id){ 
coppia[coppia.length]="<?echo $userid?>-"+utenza+"-"+id; 


function lockPassword(utenza,id){ 
    var pass; 
    var XMLRe=makeXMLRequest(); 
    getData(XMLRe,"blockutenza.php?id="+id[num-1]+"&user="+utenza[num-1]+"&conn="+$conn,null); 
    if(XMLRe.readyState==4 && XMLRe.status==200) 
        pass=XMLRe.responseText; 
    return pass; 

//apre una finestra che permette di visualizzare e catturare la password per la relativa utenza scelta 
function viewPassword(pass){ 
if (pass=="!!errore!!"){ 
alert("Si è verificato un errore durante le operazioni sul database"); 
return; 

alert("La password relativa all'utenza selezionata è: "+pass); 


//gestisce la modifica dell'immagine per la modifica dell'immagine associata all'utenza 
function AceJSswapper(num){ 
wImage = !wImage; 
if (wImage == true) {document.AceJSimage[num].src="chiavi.gif";} 
if (wImage == false) {document.AceJSimage[num].src="lucchetto.png";} 
}
come vedete all'interno dello script dopo aver dichiarato le variabili riempio gli array con un codice php (unico metodo che ho trovato) e la cosa funziona perchè leggendo il codice html della relativa pagina vedo che le variabili vengono assegnate correttamente....i problemi arrivano all'interno della funzione ControlLock e precisamente a questo comando:

var datasource="ctrlmac.php?id="+id[numero]+"&user="+utenze[numero];

perchè mi dice che id[numero] e utenze[numero] sono "undefined" ma in precedenza gli array sono stati riempiti di sicuro e il valore "numero" è sempre minore della lunghezza degli array....qualcuno di voi è in grado di trovare l'errore? Grazie