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 a tutti...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
    un banale json_encode no eh? Comunque discussione da spostare in PHP.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    28
    teoricamente l'errore sta nel JS cmq grazie lo stesso

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.