Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Flash & ActionScript
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti

Flash & ActionScript Animazione web e linguaggio di programmazione

Hey Amico Visitatore,
Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Flash & ActionScript


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 06-06-11, 18:21   #1 (permalink)
User Newbie
 
Data di registrazione: Jun 2011
Ubicazione: Torino
Messaggi: 3
Question Problema con firefox e sendAndLoad()

Salve a tutti, sono nuovo su questo forum, e spero di non aver sbagliato sezione per esporre il mio problema

Premesso che sono ormai giorni che cerco per il web soluzioni concrete, ma senza alcun risultato, vi spiego in cosa sono incappato nell'ultimazione del mio sito web:

Ho necessità di trasferire variabili da Flash ad una funzione Server-Side Php che le scrive in un file sul server.
Nel farlo utilizzo la funzione "sendAndLoad()", la quale lavora perfettamente sui vari browser, se non fosse per Firefox, dove infatti, non capisco per quale motivo, le variabili vengono inviate solo quando, udite udite, viene aperto un nuovo tab o una nuova finesta nel browser che visualizza l'swf!

Insomma sarebbe un problema gravissimo per l'utilizzatore, che per visualizzare correttamente il mio sito, dovrebbe continuamente aprire nuovi Tab, un disastro!

Spero possiate aiutarmi

Dettagli aggiuntivi: Questa situazione si ha solo quando il filmato in questione, è visualizzato da più client diversi nello stesso momento, altro fattore molto insolito...Help!
Race_sr non in linea   Rispondi citando
Vecchio 07-06-11, 10:23   #2 (permalink)
Moderatore
 
Data di registrazione: May 2008
Messaggi: 2,551
Ciao Race sr, benvenuto sul forum GT, in effetti non è facile dare una risposta al tuo problema potresti postare il codice?
__________________

Nhatan
Nhatan non in linea   Rispondi citando
Vecchio 07-06-11, 12:15   #3 (permalink)
User Newbie
 
Data di registrazione: Jun 2011
Ubicazione: Torino
Messaggi: 3
Innanzitutto grazie per avermi risposto in tempi così brevi.

Ti posto il codice Actionscript:

Codice:
var fv_send = new LoadVars();
var fv_recive = new LoadVars();

// imposto le variabili da inviare al  server
fv_send.vars =     "variabili da inviare";
// imposto la funzione onLoad per gestire lo scambio di dati asincrono
fv_recive.onLoad = DataLoaded;
// invio variabili e carico le relative risposte in un altro LoadVars
fv_send.fv_sendAndLoad ("dominio/test.php?nocache=" + Math.round(Math.random() * 99999), fv_recive, "POST");

function DataLoaded (success)
{
if (success)
    {
    trace(this.state); // variabile di risposta caricata da  Php
    }
else trace("Data NOT Loaded");
}
E il relativo php:

Codice:
<?php
$vars =  stripslashes($_POST['vars']);


if ($vars != null)
    {
    // scrivo un file testuale contenente le variabili
    writefile("vars.txt" , $vars , "w");              

     echo "&state=ok"; // variabile di risposta a  flash
    exit; // fine dello script
    }


function writefile($filename,$data,$mode)  
    {
    $myfile =  fopen($filename,$mode);
     fwrite($myfile,$data);
     fclose($myfile);
    }
?>
Altro dubbio: stavo iniziando a pensare che forse il problema risiede nel fatto che i test vengono eseguiti con client che hanno lo stesso IP address e siccome uso un server apache che se non erro ho lasciato in configurazione standard, tali connessioni multiple da stesso IP potrebbero essere bloccate, è plausibile una spiegazione del genere?
Race_sr non in linea   Rispondi citando
Vecchio 07-06-11, 20:19   #4 (permalink)
User
 
L'avatar di max_400
 
Data di registrazione: Aug 2009
Messaggi: 95
Non capisco a cosa serve quel numero casuale col math.random?

Chiunque potrebbe interpretare la cosa come un aggiunta all'url ma che senso ha se il metodo post non memorizza?
Oppure un numero casuale associato ad un messaggio bò...

Intanto ho modificato un po entrambi gli script perche contenevano errori il primo
fv_send.fv_sendAndLoadfv_ e il secondo la funzione contiene dei parametri.
Tali parametri non sono definiti
function writefile($filename,$data,$mode)

$filename,$data,$mode ed io di certo non posso indovinare..

Comunque ho fatto 2 esempi.

Questo col metodo post più o meno simile al tuo (anche se non ha molto senso)
[...]


E quest'altro col metodo send e get che ha più senso se guardi la barra dell'indirizzo il numero casuale viene aggiunto al messaggio
[...]

Grazie all'attributo _self rimane nella stessa finestra
senderLoad.send("mess2-get.php?banana="+ggg, "_self", "get");

La variabile ggg non è altro che il math.random che hai messo tu
ggg=Math.round(Math.random() * 99999);

Per accorciare la stringa l'ho messo a parte.

Ho dovuto usare il sistema send e get per assicurmi che le variabili venissero ricevute sia sulla barra dell'indirizzo che stampate sulla pagina e scritte su file.
Ovviamente in questo modo non può esserci messaggio di ritorno.
__________________
Il Dr. Max usa Flash Mx 7.2 con ActionScript 2.0.

Ultima modifica di lorenzo-74 : 07-06-11 20:36. Motivo: autopromozione; scrivere correttamente maiuscole e punteggiatura.
max_400 non in linea   Rispondi citando
Vecchio 07-06-11, 22:57   #5 (permalink)
User
 
L'avatar di max_400
 
Data di registrazione: Aug 2009
Messaggi: 95
Purtroppo i link mi sono stati cancellati quindi metto lo script che ho usato per il metodo POST con ricezione variabili testato e funzionante.

Codice:
--------------------php
<?php
if(isset($_POST['theName'])){
$theName=htmlspecialchars($_POST['theName']);
$banana=htmlspecialchars($_POST['banana']);

$var=fopen("file111.txt","w+");
 fwrite($var,"$theName");
 fclose($var);

 echo "&state=positivo&banana=positivo";
}
?>

<br>
<iframe name="banana" src="file111.txt" width=500 height=200></iframe>
<a target="banana" href="file111.txt">aggiorna</a><br>
<a href="mess2.php">ricarica</a><br><br>

<embed src="loadvars-invio-e-riceve-risposta.swf" width=550 height=400>

------------------------------actionscript-------in  Flash---------------
state.text=" - ";
banana.text=" - ";
verifica="";
function reset(){
    state.text=" - ";
    banana.text=" - ";
    theName.text="";
    verifica="";
    clearInterval(timer);
}

ggg=Math.round(Math.random() * 99999);

var senderLoad: LoadVars = new LoadVars();
var receiveLoad: LoadVars = new LoadVars();

sender.onRelease = function() {
senderLoad.theName = theName.text;
senderLoad.sendAndLoad("mess2.php?banana="+ggg, receiveLoad, "POST");
}

receiveLoad.onLoad = function (ok) {
if(ok) {
    timer=setInterval(reset, 5000);
verifica="ok";
trace(this.state);
state.text=this.state;
banana.text=this.banana;
}else {
verifica="ko";
    timer=setInterval(reset, 5000);
}
}
Nello stage 2 caselle dinamiche con nome istanza:
state e banana. Una con nome var: verifica

Inoltre una casella dinamica chiamata
theName
e un pulsante con nome istanza: sender

Non appena viene mandato il messaggio (theName)
dopo 5 secondi i campi vengono cancellati.

Lo script va messo tutto in un fotogramma.


----------col metodo get------

Con questo metodo il numero casuale viene aggiunto all'url.

Codice:
<?php
echo "&state=positivo&banana=$banana";

//if(isset($_GET['theName'])){
$theName=htmlspecialchars($_GET['theName']);
$banana=htmlspecialchars($_GET['banana']);

$var=fopen("file111-get.txt","w+");
fwrite($var,"$theName $banana");
fclose($var);

//echo "&state=positivo&banana=$banana ";
//}
?>

<br>
<iframe name="bananas" src="file111-get.txt" width=500 height=200></iframe>
<a target="bananas" href="file111-get.txt">aggiorna</a><br>
<a href="mess2-get.php">ricarica</a><br><br>

<embed src="loadvars-invio-e-riceve-risposta-get.swf" width=550 height=200>

----------------ACTIONSCRIPT in FLASH---------------------------

state.text=" - ";
banana.text=" - ";
ggg=Math.round(Math.random() * 99999);

var senderLoad: LoadVars = new LoadVars();
var receiveLoad: LoadVars = new LoadVars();

sender.onRelease = function() {
senderLoad.theName = theName.text;

senderLoad.send("mess2-get.php?banana="+ggg, "_self", "get");
}

/*
receiveLoad.onLoad = function (ok) {
if(ok) {
verifica="ok";
state.text=this.state;
banana.text=this.banana;
}else {
verifica="ko";
}
}
*/
__________________
Il Dr. Max usa Flash Mx 7.2 con ActionScript 2.0.

Ultima modifica di max_400 : 07-06-11 23:12.
max_400 non in linea   Rispondi citando
Vecchio 08-06-11, 11:11   #6 (permalink)
User Newbie
 
Data di registrazione: Jun 2011
Ubicazione: Torino
Messaggi: 3
Ciao, ti ringrazio per aver postato tanto codice, ma non credo che tu abbia compreso davvero il mio problema. In ogni caso, l'ho risolto da me, giocando andando a cercare proprio nella configurazione del mio server.

Infatti come sospettavo, esso non era stato organizzato in modo tale da gestire più connessioni nella maniera più ortodossa.
Adesso quindi funziona come dovrebbe e senza intoppi, ma vi ringrazio nuovamente per il tempo che avete perso su questo mio quesito.

Race_sr
Race_sr non in linea   Rispondi citando
Vecchio 08-06-11, 11:19   #7 (permalink)
Moderatore
 
Data di registrazione: May 2008
Messaggi: 2,551
Mi fa piacere che tu abbia risolto, ho chiesto io al mio amico Max di dare un occhiata al tuo problema perchè lui di php sicuramente ci capisce molto più di me, e infatti non si è risparmiato nell' effettuare dei test, ciao alla prossima.
__________________

Nhatan
Nhatan non in linea   Rispondi citando
Rispondi
Tags: , , , ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 06:49.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.