Flash: classifica con database sql

Di: dukeilduca | 26/09/2020 18:59:17
Salve a tutti! Ho un piccolo problema (o forse grande) da risolvere.
Sto creando dei giochini in flash dove si ha un minuto di tempo per fare il maggior numero di punti possibili.
Quello che vorrei fare è: creare un bottone alla fine del gioco che permetta al giocatore di inserire il suo punteggio nella classifica (magari tramite mysql).
Come faccio dunque a collegare le due variabili che mi interessano (nome e punteggio) ad un database? E come faccio poi a far leggere in una pagina del sito solamente i migliori 10 punteggi?
Spero di essere stato chiaro.
Saluti

Risposte



Ciao Duke,
per memorizzare i dati su un database devi necessariamente appoggiarti a un linguaggio lato server come PHP o ASP.
Flash da parte sua manderà i dati a questa pagina e riceverà una risposta (un messaggio di OK oppure un errore), niente di più.

Di: Professore | 26/09/2020 18:59:17


ciao! mi sono informato un po' navigando qua e là ed ora credo di sapere come inserire i valori in una tabella mysql tramite php.
comunque ho qualche problema a inviare le variabili da flash a php.. sapreste aiutarmi?
dovrei inviare le variabili 'nome' e 'score' da FLASH alla tabella 'classifica' che ho creato in mysql ma non so come passare i valori da flash a php..
ciao ciao

Di: dukeilduca | 26/09/2020 18:59:17


Se hai letto come scrivere le tue variabili sul database con PHP saprai anche che puoi inviare le tue variabili attraverso un normalissimo form HTML.
Ora vediamo come fare un’azione ActionScript che invia le due variabili (come un modulo HTML) e aspetta una risposta.
1. Instanziamo un oggetto LoadVars
2. Memorizziamo le variabili all’interno dell’oggetto appena creato
3. Assegnamo un’azione da compiere in caso di risposta positiva o negativa
4. Inviamo le variabili e aspettiamo.
5. Tutto questo dentro al pulsante!!!
on (release) {
var myLoadVars:LoadVars = new LoadVars();
myLoadVars.nome = _root.nome // la variabile che contiene il nome.
myLoadVars.score = _root.score // la variabile che contiene il punteggio.
myLoadVars.onLoad = function() {
if (myLoadVars.messaggio == "OK") {
/* Inserisci qui una eventuale azione da compiere in caso di successo */
} else {
/* Inserisci qui una azione da compiere se ritorna un messaggio di errore*/
}
myLoadVars.sendAndLoad(“pagina.php“, myLoadVars, “POST“);
/* Questo rigo fa le seguenti cose:
1. Invia le variabili alla pagina PHP.
2. Assegna lo stesso oggetto (myLoadVars) come “ricevente“ per le eventuali risposte.
3. Assegna il metodo POST all'invio delle variabili.
*/
}
Quindi questo pulsante manderà le due variabili nome e score e farà in modo che l'oggetto LoadVars reagisca alla ricezione di informazioni, in particolare controlliamo se viene ricevuta una variabile di nome messaggio e che il valore di questa variabile sia “OK“.
Ora passiamo al PHP.
Nella pagina PHP devi aspettarti la ricezione di due variabili, scrivere nel database e infine scrivere un messaggio di conferma.
Più o meno una cosa così:
$rNome = $_POST[“nome“];
$rScore = $_POST[“score“];
/* Abbiamo ricevuto le due variabili */
/* Qui sta il codice che scrive nel DataBase,
in caso di successo facciamo in modo che avvenga questo: */
echo (“messaggio=OK&“);
/* in caso di errore possiamo mandare l'errore direttamente a Flash, per esempio se settiamo una variabile chiamata $errore e impostiamo un messaggio personalizzato facciamo in modo che avvenga questo: */
echo (“messaggio=$errore&“);
In questo modo Flash riceve in ogni caso una risposta, nel caso in cui la risposta sia “OK“ possiamo andare avanti, in caso contrario possiamo pure mostrare l’errore agli utenti Flash, perché abbiamo ricevuto del testo dentro alla variabile messaggio.
Come ho detto all’inizio, questo sistema si comporta come un normale modulo HTML, quindi se non funziona qualcosa possiamo effettuare dei test in questo modo:
Crea una nuova pagina HTML e inserisci questo modulo:
<form name=“formProva“ action=“pagina.php“ method=“post“>
<input type=“text“ name=“nome“ />
<input type=“text“ name=“score“ />
<input type=“submit“ />
</form>
Ogni volta che invii dati con questo modulo visualizzarai l’output della tua pagina PHP, solo quando la parte in PHP funziona puoi passare a Flash.

Di: Professore | 26/09/2020 18:00:18


ho fatto tutto quello che mi hai detto di fare.. ma non funziona ugualmente!
sai che è da 3 settimane che ci sto sopra e non riesco a farlo funzionare.. non sai che brutto!
se vuoi provarci tu ho creato un "sito-prova" per provare a vedere se funziona l'inserimento dei dati..
nel sito sono presenti:
+ il gioco "vergine" (dove si deve assegnare ancora la funzione al pulsante)
+ il nome utente e la password per modificare i file nel sito
+ il pannello di controllo per il database mySQL (con tanto di nome utente, password e host del database).
insomma, se vuoi darci un colpo d'occhio per provare a creare il file.php hai tutto il necessario su questo link:
http://provaclassifica.ifastnet.com
saluti e grazie comunque per le tue risposte!
duke

Di: dukeilduca | 26/09/2020 18:00:18