Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    57

    [MX] Problemi comunicazione Flash php e MySQL


    ciao a tutti
    il mio filmato nel primo frame prende l'età il sesso da testo di input e ,tramite questa istruzione che viene fatta partire al release del tasto di invio dati,

    invio.onRelease = function() {
    loadVariablesNum("http://www.miosito.it/cgi-bin/register.php?eta="+eta+"&sex="+sex, "0");
    while (check!=1){warning.text="attendere invio dati";}
    gotoAndStop(2);
    };

    manda il tutto al file php sottostante:

    <?php

    require 'inc.php';

    $connect = @mysql_connect($dbhost,$dbuser,$dbpass);
    if(!$connect){
    print "_root.warnig.text=Non riesce a connetersi al server";
    }

    if(!@mysql_select_db("$dbname")){
    print "_root.warnig.text=Non riesce a trovare il database";
    }

    $query = "INSERT INTO anagrafica (ip , data , eta , sesso) VALUES ('$REMOTE_ADDR' , NOW(), '$eta', '$sex')";

    $result =@mysql_query($query);
    if (!$result){
    print "_root.warnig.text=Errore nella query";
    } else { print "_root.check=1";}

    ?>


    Se tutte le connessioni e le query al database MySQL vanno a
    buon fine allora nell'ultima istruzione si imposta, tramite la print, la variabile check del filmato flash a 1 e si può passare al secondo frame.

    il mio problema è proprio qui il while cicla troppe volte prima che venga ritornato il valore di check a 1 e mi manda in crash tutto.

    qualcuno può aiutarmi? C'è qualche funzione che funge da wait da mettere tra il loadVariabelsNum e il while? o qualsiasi altra cosa basta che mi faccia andare a questo maledetto frame 2!!!
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    57

    con setInterval non va ancora!!!

    ho provato a usare la funzione setInterval ma niente

    invio.onRelease = function() {

    warning.text="Sto inviando i dati... Attendere prego";
    loadVariablesNum("http://www.miosito.it/cgi-bin/register.php?eta="+eta+"&sex="+sex, "0");
    a=setInterval(controlla, 1000, check);

    };


    function controlla(check){
    if (check==1) {
    clearInterval(a);
    gotoAndStop(2);

    } else {
    warning.text= "Errore";
    }
    };

    il risultato è che mi visualizza "Sto inviando i dati... Attendere prego" il valore di check sono sicuro che va ad 1 perchè ho messo un testo dinamico con valore check e dopo circa un secondo mi visualizza "Errore"...
    Perchè succede questo??? Se check è 1 mi deve andare sull'if e non sull'else!!!

  3. #3
    Che versione di flash utilizzi? Se stai utilizzando l'MX allora puoi utilizzare il metodo LoadVars(), visto che ti permette di inviare dati e di riceverli. Leggi questa pillola ed adatta il tuo codice, poi se hai problemi postali che vediamo dove sta l'errore. Oramail il loadVariables è deprecato, e il LoadVars è molto più sicuro

    http://forum.html.it/forum/showthrea...hreadid=457946


  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    57

    disastro!!!



    invio.onRelease = function() {

    var invia = new LoadVars();
    invia.eta = _root.eta;
    invia.sesso = _root.sex;

    var ricevuto = new LoadVars();

    warning.text="Sto inviando i dati... Attendere prego"
    invia.sendAndLoad("http://www.miosito.it/cgi-bin/register.php",ricevuto,"POST");

    ricevuto.onLoad = function(success) {
    if(success) {
    ricevuto.check;
    warning.text="OK";
    }
    else {
    warning.text="ERRORE";
    }
    };
    if (check==1) {

    gotoAndStop(2);

    }
    else {

    warning.text="Errore"

    }
    }
    };

    e register.php è così:

    <?php

    require 'include.php';

    $anni=$_POST['eta'];
    $genere=$_POST['sesso'];

    $connect = @mysql_connect($dbhost,$dbuser,$dbpass);
    if(!$connect){
    print "_root.warnig.text=Non riesce a connetersi al server";
    }

    if(!@mysql_select_db("$dbname")){
    print "_root.warnig.text=Non riesce a trovare il database";
    }

    $query = "INSERT INTO anagrafica (ip , data , eta , sesso) VALUES ('$REMOTE_ADDR' , NOW(), '$anni', '$genere')";

    $result =@mysql_query($query);
    if (!$result){
    print "_root.warnig.text=Errore nella query";
    }
    else {
    $check=1;
    }

    ?>

    il risultato è che scrive correttamente sul database mysql ma nel warning mi stampa ERRORE, la variabile check non viene settata e non va al frame 2.

    sono disperato!!!

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    se i due riferimenti "_root.eta" e "_root.sex" sono come hai detto prima dei campi di input, il valore in essi contenuto lo ritrovi con "_root.eta.text" e "_root.sex.text", a io metterei anche un controllo per evitare di mandare i dati se i campi son vuoti
    codice:
    if(_root.eta.text != "" && _root.sex.text != ""){
    //esegui le azioni
    }

  6. #6
    Oltre ai consigli di and80 te ne do altri. Prima di tutto vedo che non hai seguito alla lettera la pillola, come stampi i dati da php è errato, devi stampare una variabile con un valore, quindi in php scrivi questo

    Codice PHP:
    if(!$result)
    echo 
    '&ris=Errore&';
    else
    echo 
    '&ris=ok'
    da flash devi controllare quella variabile, ris e lo fai in questo modo
    codice:
    ricevuto.onLoad = function(success) {
    if(success){
    if(this["ris"]=="ok"){
    _root.gotoAndStop(2);
    }
    else{
    _root.warning.text=this["ris"];
    }
    }
    }
    Vedrai che così ti funziona

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    57
    quello lo avevo già messo così:

    if (!Number(eta)||!sex) {warning.text="ATTENZIONE!!! ALCUNI CAMPI NON SONO STATI INSERITI CORRETTAMENTE"}
    else {

    solo che non lo avevo trascritto nel topic per evitare di incasinare ancora di più...

    ciao
    grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    57
    hai ragione, non avevo seguito alla lettera perchè non mi era molto chiaro...
    adesso provo..
    grazie

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    57

    evvai funziona!!!!!!!
    grazie ragazzi non so come farei senza di voi...
    davvero mi avete salvato il culo più di una volta

  10. #10

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.