flash - php: invio e ricezione variabili da flash a php e da php in flash con filtro max4001976, inviare le variabili dal filmato flash alla pagina php la quale le riceve, le filtra e le stampa su video ed infine le stesse variabili vengono riprese dal filmato flash. max4001976

« Older   Newer »
  Share  
max_400
view post Posted on 3/5/2011, 12:12     +1   -1




flash - php: invio e ricezione variabili da flash a php e da php in flash con filtro

max4001976



inviare le variabili dal filmato flash alla pagina php la quale le riceve, le filtra e le stampa su video ed infine le stesse variabili vengono riprese dal filmato flash. max4001976




in corso...

------
ecco qui l'esempio...
http://maxeilgatto.altervista.org/messaggi.php

il filmato flash è incorporato dentro la pagina php

_______

procediamo un passo alla volta

nel filmato flash...

Nel fotogramma
CODICE
titolo="";
messaggio="";


Nel pulsante invia
CODICE
on (release) {
       verifica="in corso...";
       
       principale=new LoadVars();
       principale.titolo=titolo;
       principale.messaggio=messaggio;
       principale.onLoad=function(success){
               if(success){
                       verifica="messaggio inviato!";
                       titolo="";
                       messaggio="";
               }else{
                       verifica="errore!";
               }
       }
principale.sendAndLoad("http://maxeilgatto.altervista.org/messaggi.php", principale, "POST");
}


(ho messo l'indirizzo per intero in modo che potete provare anche da locale,
cioè il vostro filmato flash sul desktop e la pagina php in rete)


principale.titolo=titolo;
principale.messaggio=messaggio;


queste 2 righe si riferiscono alle caselle di input sul vostro stage
che non hanno un nome istanza ma solo un nome var

infine nel pulsante nero in alto a sinistra "aggiorna"
HTML
on (release) {
getURL("http://maxeilgatto.altervista.org/deposito_messaggi.php","banana");
}


questo serve per aggiornare il vostro iframe che contiene il deposito dei messaggi


------nella pagina php------

HTML
<?php

if(isset($_POST['titolo'])||$_POST['messaggio']){

$titolo=$_POST['titolo'];
$messaggio=$_POST['messaggio'];

$titolo = str_replace(array('<', '>'), '-', $titolo);
$messaggio = str_replace(array('<', '>'), '-', $messaggio);

echo "$titolo <br> $messaggio <br>";

$var = fopen("deposito_messaggi.php", "a+");
fwrite($var, "<font color=blue><b>$titolo</b></font><br> $messaggio <br>");
fclose($var);
}
?>

<iframe name="banana" src="deposito_messaggi.php" width=550 height=400></iframe><br>

<embed src="messaggi.swf" width=550 height=400><br>

<a href="deposito_messaggi.php">deposito_messaggi.php</a>


spiegazione:
if(isset($_POST['titolo'])||$_POST['messaggio']){

questa riga serve ad impedire che venga trasmessa la prima riga vuota all'avvio della pagina... letteralmente...
se ricevi la variabile 'titolo' || oppure 'messaggio' continua col programma

ossia la conversione dei caratteri minore < e maggiore > in trattini -

$titolo = str_replace(array('<', '>'), '-', $titolo);
$messaggio = str_replace(array('<', '>'), '-', $messaggio);


e poi... la creazione della pagina "deposito_messaggi.php" oppure aggiungi
alla pagina giù esistente (grazie all'attrbuto a+) le varibili 'titolo' e 'messaggio'

$var = fopen("deposito_messaggi.php", "a+");
fwrite($var, "$titolo
$messaggio
");
fclose($var);


in più ho aggiunto i font per il colore blu per il titolo

continuando...
HTML
<iframe name="banana" src="deposito_messaggi.php" width=550 height=400></iframe><br>


ho creato l'iframe col nome di "banana" (un nome stupido cosi ve lo ricordate facilmente) il quale è collegato al pulsante nero in flash "aggiorna"

dentro il pulsante nero in alto a sinistra "aggiorna" è presente questo script

HTML
on (release) {
getURL("http://maxeilgatto.altervista.org/deposito_messaggi.php","banana");
}


dopo aver inviato il messaggio da flash cliccate sul pulsante nero 'aggiorna'
per vedere le novità


Per aprire l'allegato ci vuole la password
per avere la password bisogna essere iscritti al Forum
Dopo che siete iscritti chiedete la password
ad un Moderatore o ad una persona qualsiasi
La password vi sarà data in un Messaggio Privato!

ER FOUNDER
by max_400


naturalmente nel pacco manco la pagina 'deposit_messaggi.php' per il semplice motivo che essa viene creata non appena scrivete il primo messaggio.
l'iframe sarà vuoto o vi compare altervista pagina non trovata
è tutto ok...
scrivete il primo messaggio cliccate su invia se vi compare messaggio inviato
cliccate su aggiorna (il pulsante nero) e vedrete il vostro messaggio
oppure "aggiornate" la pagina del vostro browser.





Edited by max_400 - 3/5/2011, 22:02

Download attachment
messaggi.rar ( Number of downloads: 36 )

 
Top
Randi
view post Posted on 3/5/2011, 12:38     +1   -1




Non vedo l'ora!
 
Top
max_400
view post Posted on 3/5/2011, 21:03     +1   -1




up... vedi post precedente...
 
Top
max_400
view post Posted on 4/5/2011, 01:55     +1   -1




ed ecco la ricezione in flash delle stesse variabili

http://maxeilgatto.altervista.org/messaggi2.php

grazie a questo script... possiamo prendere il file deposito_messaggi.php
per intero però c'è un operazione molto importante da fare
essendo una casella dinamica con nome istanza dobbiamo formattarla
per i tag html

nello script precedente dobbiamo modificare i font
da cosi
font color=blue
in
font color='#0000FF'
per essere leggibile da flash altrimenti tutti i messaggi che manderete
non vedrete più niente.


adesso lo script per leggere il file deposito_messaggi.php
CODICE
function caricamento(){
       led.play();
banana2=new LoadVars();
banana2.onData=function(ggg){
       riceve.text=ggg;
}
banana2.load("http://maxeilgatto.altervista.org/deposito_messaggi.php");
}

timer=setInterval(caricamento, 4000);


come potete vedere ho messo un timer che legge il file deposito_messaggi.php ogni 4 secondi visualizzando i nuovi messaggi.
il led è un qualkosa di architettonico per rendere il tutto più bello.
Potremo anche aggiugere un beep cioè un suono acustico ma gni 4 secondi a lungo andare romperebbe i c++.


adesso attenti a questo script
CODICE
var myStyleSheet = new TextField.StyleSheet();
riceve.styleSheet = myStyleSheet;

questo permette di formattare l'istanza della casella dinamica riceve.text
altrimenti vedremo copiati a pappagallo i tag html oppure non vedremmo completamente niente.



è importante notare 3 particolari.

1) Il file deposito_messaggi.php viene inglobato da una casella dinamica che ha
il nome istanza riceve e nessun nome nella var.

2) Ed abbiamo usato loadVars anzicchè loadVariablesNum
altrimenti non potevamo adattare lo scroll (componente di flash)
il quale, per il collegamento, richiede per forza un nome istanza.

3) infine i colori: abbiamo dovuto formattare questa casella dinamica
creando una particolare variabile di tipo TextField.StyleSheet();
grazie ad essa e la riga successiva riceve.styleSheet = myStyleSheet;

per il momento è tutto
se ci sono domande
non esitate a chiedere.

Per aprire gli allegati ci vuole la password e per averla
dovete essere iscritti a questo forum...altrimenti...
che cazzo ci sto a fare qui?

ER FOUNDER
by max_400


Download attachment
messaggi2.rar ( Number of downloads: 39 )

 
Top
Randi
view post Posted on 6/5/2011, 16:30     +1   -1




Ciao Max, molto interessante, riusciresti ad posizionare l'ultimo messaggio in cima?
PS anche io stavo lavorando ad una cosa del genere www.nhatan.altervista.org/maximages/text-dinamico.rar

Edited by Randi - 6/5/2011, 17:55
 
Top
max_400
view post Posted on 6/5/2011, 18:06     +1   -1




si avevo già affrontato in passato questo problema nella costruzione di un messenger

http://max400scuola.altervista.org/messeng...place-email.php

lo script è qualcosa tipo questo


CODICE
$data_ora=date('d-m-y G:i');
$messaggio = $_POST['messaggio'];

$messaggio = str_replace("<", "-", $messaggio);
$messaggio = str_replace(">", "-", $messaggio);

$var=fopen("deposito_messaggi5.php","r");
$dim=filesize("deposito_messaggi5.php");
$contenuto=fread($var,$dim);
fclose($var);

$var=fopen("deposito_messaggi5.php","w+");
fwrite($var, "<font color=green>$data_ora</font> <font color=red><b>max_400:</b></font> $messaggio <br> $contenuto");
fclose($var);
}


questo è uno straccio di script

in pratica il file deposito viene letto e poi sovrascritto mettendo l'ultimo messaggio al primo posto ne riparliamo adesso sto uscendo.
 
Top
max_400
view post Posted on 6/5/2011, 21:01     +1   -1




ho visto l'allegato... fai attenzione vecchio mio.
Mancano le misure di sicurezza

stripslaches serve solo a togliere lo slash
quando si tratta di scrivere su una pagina php
devi usare alcuni comandi per disabilitare eventuali script maligni

intanto ecco il comando stripslaches


la frase originaria è

"Luca mangia l\'arancia"
http://max400scuola.altervista.org/aaa/stripslaches.php
CODICE
$testo = "Luca mangia l\'arancia";
echo stripslashes($testo);

----------------------------------------------------
http://max400scuola.altervista.org/aaa/stripslaches2.php
qui i tag dei font sono attivati

CODICE
<?php
$testo = "<font color=red>Luca mangia l\'arancia</font>";
echo stripslashes($testo);
?>


-----------------------------
CODICE
<?php

$testo = "<font color=red>Luca mangia l\'arancia</font>";

$filtro=htmlspecialchars($testo);

echo stripslashes($filtro);

?>


qui c'è il comando htmlspecialchars
che copia a pappagallo i tag dei font.
Ma i font sono un esempio, mettiamo per ipotesi che un haker vede il tuo script
e manda uno script maligno nel tuo spazio web e ne prende il controllo.

http://max400scuola.altervista.org/aaa/stripslaches3.php



Naturalmente sorge una domanda....

Ma sei io DEVO utilizzare i font perchè voglio un titolo a colori
come devo fare?

E' semplice
nella ricezione metterai questo filtro

CODICE
$messaggio=htmlspecialchars($_POST['messaggio');
echo "<font color=red>$messaggio</font>"



ecco un esempio
http://max400scuola.altervista.org/aaa/invio.html

se io invio un testo formattato in blu esso viene copiato a pappagallo ed il colore è in rosso
CODICE
<font color=blue>banana</font>



quindi nella ricezione usiamo htmlspecialchars per filtrare eventuali comandi pericolosi e nella stampa (o nella scrittura su file) usiamo dei font interni. Poi esiste un comando che ti permette delle eccezioni. dev'essere nella sezioni php con lucchetto... in modo tale che i link href siano permessi nell'invio.

ed ecco lo script completo in entrambe le pagine

Nella pagina di invio.html

HTML
<form action="ricezione.php" method="POST">

messaggio: <input type="text" name="messaggio">
<input type="submit" value="invia"><input type="reset" value="cancella">

</form>


Nella pagina di ricezione.php
CODICE
<?php
$messaggio=htmlspecialchars($_POST['messaggio']);
echo "<font color=red>$messaggio</font>";
?>


------------------------

ritornando al tuo problema
CODICE
<?php
$filtro=htmlspecialchars($_POST['contenuto1']);
$contenuto = stripslashes($filtro);

$myFile = "a_text1.php";
$fh = fopen($myFile, 'w') or die("impossibile aprire il file");
echo "salvato";
fwrite($fh, "testo=<font color=red>$contenuto</font> \n ");
fclose($fh);

?>


$filtro=htmlspecialchars($_POST['contenuto1']);

ecco qua
http://max400scuola.altervista.org/aaa/invio-jjj.html

prova a scrivere
CODICE
<font color=blue>ciao</font>

e clicca su invia

Edited by max_400 - 6/5/2011, 23:03
 
Top
Randi
view post Posted on 7/5/2011, 22:55     +1   -1




Ciao Max ho sostituito il tuo php con protezione al mio senza ma non mi carica più il testo?
 
Top
max_400
view post Posted on 7/5/2011, 23:26     +1   -1




non ti carica il testo in flash?

ecco la spiegazione:

CODICE
testo=<font color=red>$contenuto</font>

sostituisci con

CODICE
testo=<font color='#FF0000'>$contenuto</font>



PS come lo carichi in flash?
con loadVariablesNum o loadVars?


Ps2: mi ero scordato un apostrofo
 
Top
Randi
view post Posted on 8/5/2011, 08:21     +1   -1




lo carico con
CODICE
loader = new LoadVars();

scusa mi sono perso qualcosa questa stringa che mi dici di sotituire dovrebe trovarsi in una pagina ricezione, ma io non ce l'ho.
io ho la pagina php che riceve i dati da flash e che va a scriverli nella pagina php che fa da database.
 
Top
max_400
view post Posted on 8/5/2011, 10:37     +1   -1




CITAZIONE
io ho la pagina php che riceve i dati da flash e che va a scriverli nella pagina php che fa da database.

devi sostituire il nome dei colori col numero corrispondente
CODICE
$var=fopen("deposito_messaggi5.php","w+");
fwrite($var, "<font color=green>$data_ora</font> <font color=red><b>max_400:</b></font> $messaggio <br> $contenuto");
fclose($var);


in questo modo..
CODICE
$var=fopen("deposito_messaggi5.php","w+");
fwrite($var, "<font color='#FF0000'>$data_ora</font> <font color='#0000FF'><b>max_400:</b></font> $messaggio <br> $contenuto");
fclose($var);


ed infine prendi la pagina deposito_messaggi5.php con
loadVars
 
Top
max_400
view post Posted on 8/5/2011, 11:02     +1   -1




http://maxeilgatto.altervista.org/messaggi.php

il filmato flash è inglobato nella stessa pagina php (messaggi.php) che riceve i messaggi da flash e scrive su un altro file php (deposito_messaggi.php)
infine (deposito_messaggi.php) viene ricevuto da flash.

i font sono inseriti nella fase di scrittura su file

questa è la pagine che riceve i dati da flash (messaggi.php) e li scrive su un altro file (deposito_messaggi.php)

CODICE
<?php

if(isset($_POST['titolo'])||$_POST['messaggio']){

$titolo=$_POST['titolo'];
$messaggio=$_POST['messaggio'];

$titolo = str_replace(array('<', '>'), '-', $titolo);
$messaggio = str_replace(array('<', '>'), '-', $messaggio);

echo "$titolo <br> $messaggio <br>";

$var = fopen("deposito_messaggi.php", "a+");
fwrite($var, "<font color='#0000FF'><b>$titolo</b></font><br> $messaggio <br>");
fclose($var);
}
?>

<iframe name="banana" src="deposito_messaggi.php" width=550 height=400></iframe><br>

<embed src="messaggi.swf" width=550 height=400><br>

<a href="deposito_messaggi.php">deposito_messaggi.php</a>



NB nella pagina deposito_messaggi.php
ho messo una riga per i caratteri accentati
CODICE
<meta  http-equiv="Content-Type" content="text/html; charset=utf-8">



metto il tutto in allegato


...
questo script in flash per ricevere i dati dalla pagina deposito_messaggi.php
la pgina viene inglobata per intero ogni 4 secondi.

CODICE
function caricamento(){
       led.play();
banana2=new LoadVars();
banana2.onData=function(ggg){
       riceve.text=ggg;
}
banana2.load("http://maxeilgatto.altervista.org/deposito_messaggi.php");
}

timer=setInterval(caricamento, 4000);




Download attachment
messaggi2_.rar ( Number of downloads: 24 )

 
Top
max_400
view post Posted on 30/11/2012, 01:49     +1   -1




52
 
Top
12 replies since 3/5/2011, 12:12   359 views
  Share