Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    Non funziona il loadVariablesNum

    Uff...se c'è una cosa che mi fa stizza + di quando non mi funziona il codice AS è quando non mi funziona quello che uso sempre ed ha sempre funzionato...

    Io uso flash combinato a PHP, quindi spesso mando le variabili alle pagine php tramite:

    Codice PHP:
    loadVariablesNum() 
    nel caso specifico (visto che non funzionava) ho fatto un test mettendo nel primo frame del filmato:

    Codice PHP:
    username="ss"
    pass="sss"
    loadVariablesNum("actions/login.php"0"POST"); 
    nel file php login.php ho inserito questo codice:
    Codice PHP:
    <?php
    $file_txt
    =@fopen("prova.txt","a+");
    @
    fwrite($file_txt,"Username: "$username ." Pass: "$pass);
    @
    fclose($file_txt)
    ?>
    Per chi nn dovesse conoscere il php il codice scrive su un file di testo:
    Username: <qui ci va il valore della var> Pass: <qui ci va il valore della seconda var>

    invece sul file mi scrive solo:

    Username: Pass:

    ovvero nn mi passa le 2 var da flash...perchè?!? :master:

    GRAZIE!!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ma in php dove recuperi il valore delle variabili ricevute?

    ps. se non usi flash 5, conviene che aggiorni un attimo il codice da usare

  3. #3
    Io ho sempre usato sendAndLoad

    Codice PHP:

    var invia = new LoadVars();
    var 
    ricevi = new LoadVars();

    pulsante.onRelease = function() {
     
    invia.username "ss";
     
    invia.pass "aaa";

     
    invia.sendAndLoad("actions/login.php",ricevi);
    }

    ricevi.onLoad = function(success) {
     if(
    success) {
      
    trace("OK");
     }

    mentre nel php:

    Codice PHP:

    <?php
    $username 
    $_POST['username'];
    $pass $_POST['pass'];

    $file_txt=@fopen("prova.txt","a+");
    @
    fwrite($file_txt,"Username: "$username ." Pass: "$pass);
    @
    fclose($file_txt)
    ?>

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    corretto, anche se in questi casi un solo loadvars è più che sufficiente

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    ragazzi io mi son persa....
    scusate ma il loadVariablesNum che ho usato io allora non va?

    Di solito lo usavo per spedire le mail via form (fatto in flash) e funzionava tutto...

    Il metodo di Stefano lo vedo molto intricato...visto che in realtà poi dovrò gestire moooolte + variabili...!

  6. #6
    Verò, basta ke aggiungi le variabili...

    invia.username = "ss";
    invia.pass = "aaa";
    invia.variabile2 = "Prova";
    invia.altravar = "Altra prova";

    e nel php per ogni variabile valorizzi:

    $variabile2 = $_POST['variabile2'];
    $altravar = $_POST['altravar'];


  7. #7
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    ok ma nn capisco il codice!
    Non mi basta riuscirci!

    Me lo spieghi un pochino? Così ci arrivo anke da sola

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    LoadVars funziona pressappoco come loadVariables/loadVariablesNum, solo che essendo una classe, è dotata di metodi e proprietà che rendono possibile un'interazione più pulita rispetto alla semplice funzione loadVariablesNum
    inoltre è in grado di comandare un evento che viene verificato nel momento in cui i dati sono fruibili da flash, il metodo onLoad

    nel tuo caso invece di assegnare username e pass in maniera "volante", le assegni direttamente all'istanza della classe LoadVars e dopo utilizzi il metodo "sendAndLoad" per spedire queste variabili ad uno script php, che le processerà e rimanderà indietro un "responso" a flash che effettuerà delle azioni a seconda che il processo sia andato bene o meno, in php

    ricapitolando il codice funziona così:

    Codice PHP:
    // creo un'istanza di LoadVars
    var lv = new LoadVars();
    // gli assegno le variabili che voglio spedire a php
    lv.username "testuser";
    lv.pass "testpass";
    // richiamo il metodo che invia i dati a php
    lv.sendAndLoad("test.php"lv"POST");
    // imposto il codice da richiamare quando i dati saranno 
    // processati e restituito un responso da php
    lv.onLoad = function(s) {
        
    // se viene restituito qualcosa da php
        
    if(s) {
            
    // se la variabile "response" restituita riporta "OK"
            
    if(lv.response == "OK") {
                
    // azioni se tutto ok
            
    } else {
                
    // azioni se qualcosa non è andata a buon fine in php
            
    }
        }

    in php per ricevere i dati bisogna usare la variabile globale $_POST richiamando le variabili ricevute dall'esterno come indici di un array associativo, quindi come diceva stefano:

    Codice PHP:
    <?php
    $username 
    $_POST['username'];
    $pass $_POST['pass'];

    $file_txt = @fopen("prova.txt","a+");
    if(
    fwrite($file_txt,"Username: $username Pass: $pass")){
        echo 
    "response=OK&";
    } else {
        echo 
    "response=NO&";
    }
    @
    fclose($file_txt)
    ?>

  9. #9
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Ok funziona tutto!
    (a parte che nel php mancava il PRINT per la variabile reponse)

    Ora volevo chiede un'ultima cosa, c'è un moto per scaricare tutte le var?

    Cioè se io in FL ho 30 variabili passate dal pho c'è un modo di scaricarle tutte in una volta?

    Una cosa tipo:

    unset.FL

    Grazie!

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    vero, adesso modifico il messaggio e aggiungo l'echo

    per quanto riguarda la questione delle variabili, basta direttamente eliminare l'oggetto LoadVars creato in precedenza, però non so se è quello che ti serve, perchè le devi cancellare?

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.