Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    [PILLOLA] interazione FLASH-PHP

    Mi sono arrivati molti messaggi privati negli ultimi tempi per sapere come si a far collaborare flash e php.

    PREMESSA
    Flash legge le variabili esterne solamente in questo formato:
    &var1=valore1&...
    Cioè: bisogna mettere una & all'inizio e alla fine della stringa e anche una & tra ogni variabile.

    In questo esercizio vedremo come fare delle aree segrete con php e flash. Tutto è molto semplice, ma naturalmente questo da un input alla creazione di cone molto complesse
    PREPARIAMO L'SWF
    Creiamo (si scrive così :master: ) un nuovo documento flash con 3 frame distinti, nel primo mettiamo due campi di testo dinamico e li chiamiamo: uname (naturalmente conterrà il nome utente) e psw (che conterrà la password). Un esempio di quello che deve venir fuori lo trovate sulla foto 1.jpg.

    Sul secondo frame mettiamo un testo con scritto: USERNAME E PASSWORD ERRATA e aggiungiamo anche un link che riporti l'utente al primo frame.

    Sul terzo (ed ultimo) frame mettiamo un testo con su scritto: BRAVO. HAI INDOVINTANO LA PASSWORD

    Fatto ciò, mettiamo sul primo frame questo codice:
    codice:
    stop();
    
    function invia()  //creo una funzione per l'operazione di send
    {
    	dati = new LoadVars(); // inizializzazione oggetto "dati" con la classe "LoadVars"
    	
    	dati.username = _root.uname.text; //inserisco la variabile "username" con il valore di uname, da inviare
    	                                  //alla pagina php
        dati.passwd = _root.psw.text;     //idem per questo
    
    	dati.sendAndLoad("http://localhost/test/gestione.php",dati,"POST"); //Operazione di Invia e Carica
        //il primo parametro punto alla pagina che deve riceve i dati e da cui caricare i dati; il secondo
    	//indica l'oggetto che contiene tutte le variabili da inviare (che è praticamente è se stesso);
    	//il terzo indica il metodo con cui inviare i dati: GET o POST. Ho messo post perché reputo il
    	//migliore.
    	
    	dati.onLoad = carica; // con quest'istruzione chiamo la funzione carica per indirizzo
    }
    
    function carica()
    {
    	if (dati.login == "si")     //controllo se la variabile inviata da php "login" è su true
    		gotoAndStop(3);         //si ricordi che le variabili sia da PHP>FLASH e viceversa
    	else                        //SONO SEMPRE STRINGHE, anche se tu invii dei numeri, dei 
    		gotoAndStop(2);         //valori booleani, sono sempre comunque stringhe
    }                               //noterai che ho messo si tra virgolette, ma potevo
    							    //mettere anche 1 ed andava sempre tra virgoletet
    								//"1"
    								//oppure potevo mettere true ed andava fatto così
    								//"true"
    								//non so se sono stato chiaro su questo punto
    e qui abbiamo finito, creiamo l'swf e possiamo chiudere tutte cose.

    PREPARIAMO IL FILE PHP
    Creiamo u file php chiamato gestione.php w gli mettiamo questo codice

    Codice PHP:
    <?php
    $nomeutente 
    "admin";      //decido il nome utente e pass da confrontare
    $password "password";

    if ( (
    $_POST['username'] == $nomeutente) && ($_POST['passwd'] == $password) ) //inizio il confronto tra uname e pass
    {
      echo 
    "&login=si&";      //viene stampato: &login=si&
    }
    else
    {
      echo 
    "&login=no&";      //viene stampato: &login=no&
    }

    /*
    flash accetto solo variabili con questa sintassi:
    &<nomevariabile>=<valore>...&

    si noti che all'inizio e alla fine della strigna di variabili vengono messi le & e tra le variabili, esempio:
    &var1=valore1&var2=valore2&var3=valore3&

    $_POST['username'] è la stessa variabile che io ho usato su flash -> dati.username
    $_POST['passwd'] è la stessa variabile che io ho usato su flash -> dati.passwd

    in questo caso, noi inviamo a flash la variabile login, e su flash viene usata -> dati.login
    */
    ?>
    Il codice è molto piccolo e leggero, quindi è facilmente modificabile


    CONCLUSIONI
    come vedete, tutti i codici sono commentati e sono facilmente implementabili. Naturalmente lo dovrete testare in un server capace di interpretare i file php. Per esempio ho un server in locale ed ho messo http://localhost

    Dovrete mettere il riferimento assoluto quando fate i test su flash, voglio dire, quando avete intensione di testare la pagine premendo i classici file CRLT+INVIO.

    Quando siete sicuri che tutto va bene e che funzioni alla meraviglia, potete mettere i riferimenti assoluti in relativi, ma dovrete testare la pagina in un server capace di interpretare php

    Anche se ho detto 2 volte questa cosa del server, voglio precisarla perché è uan cosa molto importante

    Spero che vi sia stata molto utile...

  2. #2

  3. #3
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    e allora perché ci sn decine di 3d e decine di messaggi privati per questo argomento?

    Agli utenti che mi contattano mando un file simile, almeno lo spiego a tutti...

    Se tutti postano lo stesso problema vuol dire che non è stato esposto nel giusto modo

  4. #4

    Re: [PILLOLA] interazione FLASH-PHP

    Originariamente inviato da FinalFantasy
    Flash legge le variabili esterne solamente in questo formato:
    &var1=valore1&...
    Cioè: bisogna mettere una & all'inizio e alla fine della stringa e anche una & tra ogni variabile.
    ..
    veramente no.
    il formato giusto per una querystring di tipo get e' :
    nomefile?var1=valore1&varn=valoreN
    ovvero dopo il primo nome file ci và il ?

  5. #5
    Originariamente inviato da FinalFantasy
    e allora perché ci sn decine di 3d e decine di messaggi privati per questo argomento?

    Agli utenti che mi contattano mando un file simile, almeno lo spiego a tutti...

    Se tutti postano lo stesso problema vuol dire che non è stato esposto nel giusto modo
    Semplicemente perchè nessuno fa una ricerca e apre subito un'altro post. Io non volevo dire che la tua non va bene, oppure che non serve a nulla, ma semplicemente farti notare che c'era già una pillola simile fatta molto bene.
    La tua pillola farà la fine di quella di andr3a, la leggeranno in pochi perchè quasi nessuno fa una ricerca nel forum. Tutto quà. Se ti sei offeso scusami, ma non volevo offenderti.

  6. #6

    Re: Re: [PILLOLA] interazione FLASH-PHP

    Originariamente inviato da kentaromiura
    ..
    veramente no.
    il formato giusto per una querystring di tipo get e' :
    nomefile?var1=valore1&varn=valoreN
    ovvero dopo il primo nome file ci và il ?
    Non è pripio giusto, il tuo metodo va bene se passi la variabili nel modo get, nell'url, ma se richiami un file esterno, che sia txt, o quello che restituisce php come questa pillola, il metodo corretto è quello che ha descritto FinalFantasy.

  7. #7
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Originariamente inviato da jeck
    Semplicemente perchè nessuno fa una ricerca e apre subito un'altro post. Io non volevo dire che la tua non va bene, oppure che non serve a nulla, ma semplicemente farti notare che c'era già una pillola simile fatta molto bene.
    La tua pillola farà la fine di quella di andr3a, la leggeranno in pochi perchè quasi nessuno fa una ricerca nel forum. Tutto quà. Se ti sei offeso scusami, ma non volevo offenderti.
    tranquillo, non mi sn offeso, ma quella pillola lo letta pure io tempo fa e nn ci capì un fico secco...

    credo di aver semplificato la vita a qualcuno...peccato però ceh in questo forum nn vengono messi 3d utili come questo

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.