Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    28

    Array in Js costruiti con php

    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

  2. #2
    E' un problema di sintassi Javascript, non di PHP:

    Codice PHP:
    <script type="text/javascript">
    <!--
    var array = new Array();

    array[
    "pippo"] = "Hello World!";
    alert(array["pippo"]);

    array[
    pluto] = "Hello World!"// Warning 'pluto' is undefined
    alert(array[pluto]); // Warning 'pluto' is undefined
    -->
    </script> 

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    28
    il problema è che anche mettendo i doppi apici ,nel caso id["numero"] e utenze["numero"] continua a darmi lo stesso errore....ma può anche darsi che io non abbia capito il senso della tua risposta perchè lavoro su JS da manco un mese XD ,nel qual caso mi scuso

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.