Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [pillola] rubrica telefonica realizzata con flash e php

    Come promesso ho fatto la mia prima pillola...

    Innanzi tutto creiamo la tabella utilizzando il seguente codice sql:

    Codice PHP:
    CREATE TABLE rubrica (
      
    nome char(15) default NULL,
      
    cognome char(15) default NULL,
      
    città char(15) default NULL,
      
    telefono1 char(15) default NULL,
      
    telefono2 char(15) default NULL
    TYPE=MyISAM

    Creiamo un file registra.php

    Codice PHP:
    <?
    //specifico l’host
    $host 'localhost';
    //specifico l’utente
       
    $dbuser 'root';
    //specifico la password
       
    $dbpass '';
    //specifico il database
       
    $dbname 'flash';
    //secifico la tabella
       
    $table 'rubrica';
    //inizio la connessione al db usando I parametric sopraelencati
       
    $db = @mysql_connect($host,$dbuser,$dbpass) or die("error=could not connect to $host");
    //seleziono il database
       
    $db mysql_select_db($dbname);
    //controllo che il database esista
       
    if(!$db)
       {
          print 
    "errore=could not connect to $dbname table";
          exit;
       }
    //eseguo la query sql di inserimento
    $query = @mysql_query("insert into rubrica values('$nome', '$cognome', '$città', '$telefono1', '$telefono2')") or die ("non riesco ad inserire i dati nella tabella");
    echo 
    "errore=Inserimento ok";
    //eseguo la query per selezionare tutti i dati della tabella rubrica orinandoli per nome
    $query1 = @mysql_query("select * from rubrica order by nome") or die ("non riesco ad eseguire la query. Errore nella select");
    //prelevo i dati e li concateno nella variabile $elenco
    while ($row mysql_fetch_array($query1)){
        
    $elenco .= "[b]Nome[/b] :".$row['nome']."
    "
    ;
        
    $elenco .= "[b]Cognome[/b] :".$row['cognome']."
    "
    ;
        
    $elenco .= "[b]Città[/b] :".$row['città']."
    "
    ;
        
    $elenco .= "[b]Telefono1[/b] :".$row['telefono1']."
    "
    ;
        
    $elenco .= "[b]Telefono2[/b] :".$row['telefono2']."
    "
    ;
        
    $elenco .= "
    "
    ;
    }
    //stampo la variabile $elenco
    print "&elenco=" .$elenco"&";
    ?>
    La parte più interessante del codice è questa:
    echo "errore=Inserimento ok";
    in questo modo passiamo alla variabile errore (che si trova nel filmato flash) la stringa Inserimento ok.
    Allo stesso modo utilizzando questo codice
    print "&elenco=" .$elenco. "&";

    passiamo alla variabile elenco del filmato flash tutto quello che abbiamo concatenato nella variabile $elenco di flash (non c’è bisogno che le variabili elenco (di flash) e $elenco (di php) siano uguali).
    Mettiamo le & all’inizio e alla fine della print (possiamo utilizzare anche echo… le due sono quasi uguali) perché dobbiamo concatenare le varie righe che preleviamo tramite il ciclo while.

    Passiamo ora al filmato flash.

    Sulla linea temporale creiamo 3 livelli:
    1) Background
    Creiamo il background per il filmato
    2) Text
    Creiamo il campo per immettere il nome tramite lo strumento testo: il campo ha le seguenti proprietà: testo di input, singola riga.
    Il valore di var deve essere nome.
    3) Pulsante
    Creare un qualsiasi tipo di pulsante
    Creiamo inoltre tramite lo strumento di testo un ulteriore campo con le seguenti proprietà:
    testo dinamico, singola riga. Nel campo var ci deve essere scritto errore.

    Nel primo frame inseriamo come codice action script
    Stop();
    Creiamo un secondo frame nella linea temporale e scriviamo come codice action script
    GotoAndPlay(1);
    Questo per evitare che qualcuno mandi avanti volontariamente il filmato.
    Creiamo un terzo frame e creiamo un filmato di loading che scompare dopo 5 frame. Creiamo cioè un interpolazione a dissolvenza settando opportunamente gli alpha sui keyframe.
    Dopo 8 frame creiamo un testo input con le seguenti proprietà: testo dinamico, multiriga, rendi il testo come html, selezionabile, mostra il bordo intorno al testo. Nel campo var ci deve essere elenco.
    Qui verrà inserito il risultato della variabile $elenco di php.

    Nel pulsante ci deve essere il seguente codice action script:
    Codice PHP:
    on (release) {
        
    errore "";

        
    // Faccio i controlli per vedere quail campi sono obbligatori
        
    if (nome != "" && cognome != "" && citta != "") {

            
    // passo le variabili a php
            
    loadVariables ("registra.php"this"POST");

            
    // Mostra un loader mentre php carica I dati
            
    gotoAndPlay (3);
        } else {
            
    errore "I campi nome cognomen e telefono1 sono obbligatori";
        }

    Credo che sia tutto… però per una strana e oscura legge informatica, non funzionerà mai al primo colpo. Sbatteteci un po’ e tutto funzionerà.
    Non ho avuto il tempo di rileggere spero di non aver scritto troppe cavolate...
    cIaO
    Trinity
    http://www.vocabolariodidio.it
    http://www.giulianodelena.com
    trova la tua casa per le vacanze
    http://www.salento.lecce.it

  2. #2
    La prima cosa che mi pare di notare è che non fai un controllo su quando sono state caricate le variabili...ok mandi al frame 3 e fai un 'finto loading' di 5 frame...ma se per un motivo o per l'altro in quei 5 frame le variabili non vengono caricate, i dati non verrebbero mostrati: meglio caricare le vars in un movieclip e usare onClipEvent(data) (questo visto che hai usato codice per flash5, per flash mx si può usare loadVars e il relativo onLoad)
    Piccolo appunto: la prima & non è necessaria, potrebbe tranquillamente essere

    print "elenco=" .$elenco. "&";


    Queste sono le prime cose che me so' saltate all'occhio

  3. #3
    si i controlli li faccio da php...
    con questo metodo posso controllare meglio il risultato delle query

    il loader e' vero ... e' finto :tongue:

    Ho caricato il tutto su questo url

    http://www.vocabolariodidio.it/rubrica.swf

    Ho notato due piccoli bug.... non memorizza le citta'.
    Sara' perche' ho utilizzato la a accentata...
    e il secondo e' che non fa il controllo sui campi vuoti. L'if non funziona
    Trinity
    http://www.vocabolariodidio.it
    http://www.giulianodelena.com
    trova la tua casa per le vacanze
    http://www.salento.lecce.it

  4. #4
    Forse non hai capito: io parlo di controllo di avvenuto caricamento delle variabili IN FLASH, quello di certo non puoi controllarlo in php...era tutto un discorso riferito al loading 'falso': se per un qualsiasi motivo le vars impiegano più tempo ad essere caricate di quei 5 frames il filmato funzionerà male, invece mettendo un controllo (che puoi mettere solo in Flash in questo caso...) risolveresti il problema

  5. #5
    ok ... ora ho capito...


    Provo a rifare il filmato con questo controllo e lo posto...
    Trinity
    http://www.vocabolariodidio.it
    http://www.giulianodelena.com
    trova la tua casa per le vacanze
    http://www.salento.lecce.it

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.