|
Forum Flash, Actionscript, PHP e MySQL
|
|
|
|
|
|
| Autore |
Messaggio |
ab69aho
nuovo utente

Registrato: 22/02/10 11:19
Messaggi: 4
|
Oggetto: Logica condizionale su ritorno PHP
Inviato: 22.02.10 | 11:35 |
|
|
Un saluto a tutti e anticipate scuse se il mio primo post su questo forum sia stato già trattato o risultasse banale.
Ho personalizzato una fotogallery Flash+XML affinche il file XML anzichè esistere oggettivamente venga di volta in volta generato da un file PHP dopo aver ricevuto una variabile inserita dall'utente nel filmato Flash che ne verifica la presenza nei metadata presenti in tutti i files/immagini JPG presenti in una determinata cartella.
In pratica stiamo parlando di un piccolo motore di ricerca fotografico senza l'ausilio di un DB...
Tutto funziona alla perfezione, tuttavia mi ritrovo in stallo sulla seguente necessità:
considerato come il PHP mi restituisca:
1. il file XML correttamente strutturato in caso di riscontro fra parola chiave e immagini (con annesso popolamento della gallery);
2. un echo "&report=KO&" qualora nessuna immagine/files JPG abbia soddisfatto il termine cercato;
devo far valutare al mio Flash questa differente risposta e nel secondo caso avvisare l'utente (con un messaggio/pop-up) che la sua ricerca non ha prodotto risultati.
Attualmente il mio pulsante di "search" esegue questo codice:
=====================================================
invia_form.onRelease = function() {
//oggetto LoadVars a cui assegno il valore del campo di testo di input inserito dall'utente
var lv_search:LoadVars = new LoadVars();
lv_search = dato.text
//verifico che il campo di testo di input non sia vuoto e in tal caso visualizzo una pop-up di alert
if (dato.text == null || dato.text ==""){
errore_invio.onFadeDone = function() {
this.onFadeDone = undefined;
var intv = setInterval(function () {
errore_invio.fadeAlpha(0);
clearInterval(intv);
}, 1000);
};
errore_invio.fadeAlpha(100);
} else {
//genero un'oggetto XML a cui assegno il valore restituito dal file PHP + la variabile inserita dall'utente
imageList_xml = new XML ();
imageList_xml.ignoreWhite = true;
imageList_xml.load ("_manimages.php?str="+lv_search);
//popolo la gallery
imageList_xml.onLoad = function (success) {
if (success){imageListLoaded(whichalbum)
}
}
}
===================================================
Come detto tutto ciò funziona, ma... dove e come inserire un'ulteriore logica condizionale per valutare la risposta del PHP?
Grazie anticipate e buon lavoro! |
|
| Torna in cima |
|
|
Sponsor
|
|
 |
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4546
Località: Verona
|
Oggetto:
Inviato: 24.02.10 | 16:17 |
|
|
Ciao ab69aho,
mi sembra che nel codice che hai postato vi siano degli errori (a prima vista), non vedo l'utilizzo del LoadVars.
Potresti controllare e postare un codice corretto? :)
Se la condizione è: "risultati nessuno" o "XML" solamente... ti basterà controllare se è presente anche 1 sola variabile di quelle che ritorni in caso di errore.
Quindi se è presente questa variabile sai che non c'è nessun risultato, altrimenti carichi l'XML.
Ma... perchè non lo fai direttamente dallo stesso PHP?
Sinceramente non vedo una logica corretta nel codice...
P.S: ricordati di racchiudere tra tag CODE il codice che posti, per renderlo più leggibile... ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
ab69aho
nuovo utente

Registrato: 22/02/10 11:19
Messaggi: 4
|
Oggetto: Re: Oggetto: Logica condizionale su ritorno PHP
Inviato: 26.02.10 | 12:11 |
|
|
Ciao Coach e scusa il ritardo del mio riscontro oltre all'assenza di una parentesi a chiusura del mio codice.
| Codice: | invia_form.onRelease = function() {
//oggetto LoadVars a cui assegno il valore del campo di testo di input inserito dall'utente
var lv_search:LoadVars = new LoadVars();
lv_search = dato.text
//verifico che il campo di testo di input non sia vuoto e in tal caso visualizzo una pop-up di alert
if (dato.text == null || dato.text ==""){
errore_invio.onFadeDone = function() {
this.onFadeDone = undefined;
var intv = setInterval(function () {
errore_invio.fadeAlpha(0);
clearInterval(intv);
}, 1000);
};
errore_invio.fadeAlpha(100);
} else {
//genero un'oggetto XML a cui assegno il valore restituito dal file PHP + la variabile inserita dall'utente
imageList_xml = new XML ();
imageList_xml.ignoreWhite = true;
imageList_xml.load ("_manimages.php?str="+lv_search);
//popolo la gallery
imageList_xml.onLoad = function (success) {
if (success){imageListLoaded(whichalbum)
}
}
}
} |
Ora il "sintax error dovrebbe sparire.... e in effetti manca il LoadVars, perchè non riesco a scriverlo/inserirlo al posto giusto.
In ogni caso il mio problema è legato proprio al valutare la risposta ottenuta dal PHP (che preferirei non modificare).
Di fatto ottengo:
- un'oggetto XML (in caso di ricerca soddisfatta)
- una variabile (fissa e univoca) "&report=KO&"
In effetti potrei definire una variabile all'interno del mio filmato a cui "far raccogliere" il risultato del file PHP.
Se questa variabile è == a "&report=KO&" fermo l'esecuzione delle "funzioni gallery" e visualizzo un alert.
Negli altri casi vorrà dire che in risposta avrò un XML da passare alla gallery per popolarla.
In termini di principio la cosa mi sembra plausibile, ma "codice alla mano" sono fermo anche perchè trovo difficoltà a "valutare la differenza" tra una variabile/stringa e un'oggetto XML articolato...
Tutoriale e post sulla valutazione di una variabile ottenuta dal PHP non mancano, ma (sicuramente per mia inesperienza...) non riesco ad adattarle alla mia situazione.
Un'aiuto, una bozza di codice da completare sarà dunque graditissima.... ;-)
Grazie e buon w.e. a tutti. |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4546
Località: Verona
|
Oggetto:
Inviato: 26.02.10 | 12:20 |
|
|
Allora... iniziamo con il dire che è proprio sbagliato l'approccio nell'utilizzo della classe LoadVars, soprattutto qui:
| Codice: | var lv_search:LoadVars = new LoadVars();
lv_search = dato.text |
Tu utilizzi lv_search, come una stringa da passare in query allo script PHP, e non come un oggetto LoadVars.
Se devo condigliarti su come procedere... ti consiglierei di utilizzare solamente XML, "sputato" da PHP, ma solamente XML.
Non so com'è strutturato il tuo XML, ma ti basterebbe in caso di "nessun risultato", restituire un XML con un nodo del tipo:
| Codice: | <error label="Nessun risultato" /> |
Così facendo, ti basterebbe verificare se è presente il node "error", se fosse presente potresti visualizzare il messaggio di errore che vuoi, vosualizzare un messaggio d'errore usando un attrobuto (come nell'esempio sopra), o fare le operazioni che preferisci
In caso contrario, gallery.
che dici? ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
ab69aho
nuovo utente

Registrato: 22/02/10 11:19
Messaggi: 4
|
Oggetto:
Inviato: 26.02.10 | 13:24 |
|
|
Ciao.
Condivido l'osservazione sul modo con cui concateno al PHP la variabile inserita dall'utente affinchè venga usata nella ricerca di metatag che la soddisfano... ma attualmente funziona e non mi crea troppi problemi.
L'idea di entrare nel merito e analisi del valore di un determinato nodo dell XML l'ho in effetti avuta, ma non sono riuscito a portarla a termine, perchè mentre mi risulta semplice "leggere" nodi di un xml oggettivamente presente su disco (come file), ho avuto problemi a "vedere" i nodi di un file che in realtà non esiste se non generato "on the fly" dal PHP.
In pratica il trace dello stesso nodo fatto sul medesimo file XML esistente restituiva il valore corretto, fatto sul PHP (che genera l'XML) finiva "undefined".
Sicuramente sbagliavo qualcosa, ma viste le difficoltà m'è sembrato d'intuire che per Flash ci sia differenza tra file XML reale e generato.
L'idea del valutare una variabile m'era quindi sembrata più "robusta"....
OT: purtroppo non sono io a scrivere il PHP, quindi a problema s'aggiunge altro problema...
Lavorerò ancora con qualche IF...
A presto e grazie ancora. |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4546
Località: Verona
|
|
| Torna in cima |
|
|
ab69aho
nuovo utente

Registrato: 22/02/10 11:19
Messaggi: 4
|
Oggetto:
Inviato: 26.02.10 | 17:43 |
|
|
Ciao.
Grazie per il consiglio anche se ero già riuscito a leggere l'XML via browser.
Proprio per questo ritengo di trovarmi in una situazione atipica ovvero quella di trattare un file/oggetto XML come da prassi ma che in realtà non esiste perchè echo PHP:
| Codice: | imageList_xml.load ("_manimages.php?str="+lv_search); e non imageList_xml.load ("pippo.xml"); |
Tuttavia questo è fattibile, ampiamente documentato e infatti funziona alla perfezione, finquando ottengo risposta come da struttura/oggetto XML compiuto e regolarmente compilato.
L'idea infatti di fare un motore di ricerca per immagini senza utilizzare un DB e sfruttando proprio la capacità di Flash nell'interpretare echo PHP come oggetto XML m'è piaciuta e l'ho trovata molto utile: bastano le foto (con i loro metatag), PHP (per leggerli) e Flash per visualizzarle.
Inoltre e a prescindere il fatto che non scrivo un byte, soddisfo così l'eventualità di due o più utenti contemporanei che chiedono cose diverse: ottengo n. echo PHP tutti diversi fra loro e n. gallery popolate diversamente contemporaneamente.
Incomincio però a credere che da qualche parte tutta questa comodità si debba pagare...
Grazie comunque del supporto e alla prossima. |
|
| Torna in cima |
|
|
|
|
Non puoi inserire nuovi Topic in questo forum Non puoi rispondere ai Topic in questo forum Non puoi modificare i tuoi messaggi in questo forum Non puoi cancellare i tuoi messaggi in questo forum Non puoi votare nei sondaggi in questo forum Non puoi allegare files in questo forum Puoi downloadare gli allegati in questo forum
|
|