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

    Flash e PHP. non capisco...AIUTATEMI

    Ciao a tutti.
    Sto cercando di capire come funziona l'integrazione tra php e flash.

    Ho scaricato i file relativi ad un tutorial...e lui stesso non mi funziona!!!
    Allora. il fla è composto da un input text chesi chiama years, da un pulsante che si chiama myBtn e da una dynamic text che si chiama output

    Il file php che deve interagire con il flash si chiama dogyears.php
    ed è così fatto:
    codice:
    <?php
    $calculation = $_POST['years']*7;
    echo "&returnVal=$calculation";
    ?>
    nel primo frame ho inserito:

    codice:
    stop();
    //=================================
    //	INIT
    //=================================
    //declare path to php files
    lvOut = new LoadVars();               //create lv object  
    lvIn = new LoadVars();                //create lv object
    lvIn.onLoad = function (success) {
    	if(success){
      		output.text =  lvIn.returnVal;//PHP variable value to textbox  
    	}else{
    		output.text = "fail";         //or notify of failure
    	}
    }
    //=================================
    //	BTN
    //=================================
    myBtn.onRelease = function(){
    	lvOut.years = years.text;         //assign user-input value to lv property called years
    	//lvOut.send(path + "dogyears.php","_blank"); //send to a blank window
    	lvOut.sendAndLoad(path + "dogyears.php", lvIn, "POST"); //get results returned to lvIn
    };
    Ora se eseguo il codice php stand alone, passando con POST il valore years=7, ottengo come risultato (ovvio):

    codice:
    &returnVal=49
    Se invece eseguo il flash, nella casella dynamic text ottengo come risultato:
    codice:
    $calculation";
    
    ?>
    da quello che so dovevo leggere il numero 49
    Allora mi chiedo:
    1) è configurato male apache?
    2) è configurato male php
    3) è configurato male flash
    4) è errato il codice?
    Grazie per l'aiuto!!

  2. #2
    Mi sembra non corretto il file php...


    Codice PHP:
    <?php
    $calculation 
    $_POST['years']*7;
    echo 
    "&returnVal=$calculation";
    ?>

    in teoria se non erro dovrebbe essere scritto

    echo "returnVal=$calculation";

    e la variabile che flash prenderà sarà returnVal=49

    non capisco perchè ce scritto la E commerciale prima di returnVal :master:

    :master: :master:

  3. #3
    grazie,
    tra l'altro ho visto il tuo blog, programmi cose stupende.
    Quindi dovrei scrivere:

    Codice PHP:
    <?php 
    $calculation 
    $_POST['years']*7
    echo 
    "returnVal=$calculation"
    ?>
    e l'& solo se debbo concatenare più variabili, es:


    Codice PHP:
    <?php 
    $calculation 
    $_POST['years']*7
    echo 
    "returnVal=$calculation&pippo=123"
    ?>
    ?
    www.acaonweb.it

  4. #4
    no, ora nella text mi dice undefined.
    non capisco.
    www.acaonweb.it

  5. #5
    ho risolto, ma non sono contento.
    ho modificato il codice php come mi hai suggerito, e come detto nel text mi diceva undefined.

    Ho modificato il codice flash così:

    codice:
    stop();
    //=================================
    //	INIT
    //=================================
    //declare path to php files
    lvOut = new LoadVars();               //create lv object  
    lvIn = new LoadVars();                //create lv object
    lvIn.onLoad = function (success) {
    	if(success){
      		output.text =  lvIn.returnVal;//PHP variable value to textbox  
    	}else{
    		output.text = "fail";         //or notify of failure
    	}
    }
    //=================================
    //	BTN
    //=================================
    myBtn.onRelease = function(){
    	lvOut.years = years.text;         //assign user-input value to lv property called years
    	//lvOut.send(path + "dogyears.php","_blank"); //send to a blank window
    	lvOut.sendAndLoad("http://localhost/dogyears.php", lvIn, "POST"); //get results returned to lvIn
    };
    Ora ho appunto inserito il percorso preciso....ovvio che sono in un localhost.posso indicare allora solo il file php visto che risiede nello stesso percorso dell'swf o debbo indicare sempre tutto l'url completo???
    www.acaonweb.it

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ovvio non tanto, per il player... quando stai in prova filmato lui cerca il file con un url relativo che non corrisponde a localhost, ma ad esempio a C:\sito\file.php ... il chè significa che il file php non passa dal "parser" di Apache e non viene processato, cosa che invece non accade online, dove anche il percorso dell'swf è uguale ad un indirizzo http

    per quanto riguarda la & è assolutamente corretto inserirla, anzi è meglio inserirne una all'inizio del nome della variabile ed una alla fine del suo valore

    echo "&returnVal=$calculation&";

    in questo modo riduci gli errori quando hai come ultima variante ad esempio un numero o il nome di un file, questo perchè nell'invio delle variabili, viene concatenato anche uno spazio vuoto alla fine della stringa che compromette il reale valore che si vuole rappresentare nella variabile

    si pensi ad esempio ad una situazione del genere:

    echo "img=immagine.jpg";

    flash legge la variabile img per caricare in un movieclip la jpeg, ma non la carica... questo perchè alla fine della variabile, non essendo "chiusa", vengono aggiunti degli spazi, e la nostra variabile non conterrà più solo immagine.jpg, ma immagine.jpg_ (ho utilizzato _ perchè chiaramente lo spazio è invisibile in questo caso)

    altra cosa, direi che c'è qualcosa che non va anche nel codice che utilizzi in flash... non è assolutamente necessario in un caso del genere utilizzare un doppio LoadVars, ne basta uno solo... ora però devo andare... appena posso ti scrivo come fare con un solo LoadVars

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.