Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    198

    Passagio dati da flash a file di testo.

    Chiedo una cosa che è già stata detta un sacco di volte, ma pur avendo letto un infintà di volte post vari al riguardo, non sono riuscito a capire nulla. Ovvio che sono un asino in AS purtroppo.

    Il mio problema è questo: ho un campo di testo (input) in cui i visitatori possono registrarsi alla newsletter. Io creo il campo di testo e tutto, funziona perfettamente e ok, ma come faccio a salvare il relativo indirizzo email in un file di testo (mi serve espressamente il file di testo in quanto non ho mysql a disposizione) ??? Ovvio che questo file di testo sarà utilizzato dallo script della newsletter ma questo me la vedo io...

    So che mi serve php (asp no, perchè se php lo conosco poco, asp nulla).

    Quindi ricapitoliamo: creo il campo di input e relativo bottone per registrarsi. Sin qui ok. Ma:

    - quale azione devo dare al bottone???
    - ci vuole sicuramente un file php che riceve quel dato (variabile) e salvi il contenuto (indirizzo email) nel file di testo. Come è strutturato questo file????

    C'è un esempio o un articolo chiaro dove posso capire qualcosa?

    A tal propisto chiedo una cortesia: siccome è un argomento motlo richiesto ma ancora poco chiaro, qualche genio potrebbe creare una pillola e spiegare bene il tutto??? E' ovviamente solo un consiglio ed una speranza.

    Spero qualcuno possa aiutarmi.
    La vita è una tempesta, ma prenderla nel culo è un lampo...

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    198
    Altra cosa: c'è differenza se salvo i dati anzichè nel txt in file .dat?
    La vita è una tempesta, ma prenderla nel culo è un lampo...

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    a suo tempo ho scritto un affarino che fa pressappoco quello che chiedi, con PHP

    questo è il codice PHP
    Codice PHP:
    <?php
    // se ricevo qualcosa in POST dall'esterno
    if(!empty($_POST)){
        
    // trasformo quello che ho contenuto in $_POST in un oggetto
        
    $cont = (object) $_POST;
        
    // con questo IF creo una directory, se già non esiste e gli assegno i permessi al massimo
        
    if(!file_exists($cont->directory)){
            
    mkdir($cont->directory"0755");
            
    chmod($cont->directory"0777");
        }
        
    // so che il POST da FLASH contiene tre variabili che sono quelle che mi servono per far funzionare questo codice
        // il primo passo è di aprire il file dalla directory che mi interessa
        // lo apro con attributo "a" che in pratica equivale ad "append" cioè aggiungo alla fine del file il testo scritto
        
    $fp fopen("$cont->directory$cont->filename""a");
        
    // scrivo il testo contenuto nella variabile "my_content"
        
    fwrite($fp$cont->my_content);
        
    // chiudo il riferimento al file, consapevole di averlo scritto e salvato
        
    fclose($fp);
    }
    ?>
    questo è l'as contenuto nel frame:
    codice:
    // ad un pulsante attivo l'evento onRelease, che equivale al click del mouse sul pulsante
    pulsante.onRelease = function() {
    	// creo un nuovo LoadVars che mi catturi i dati da inviare allo script PHP
    	var lv:LoadVars = new LoadVars();
    	// assegno le variabili che mi servono per utilizzare lo script
    	// la directory in cui c'è il file (se non esiste php la crea)
    	lv.directory = "prova/";
    	// il nome del file, anche questo viene creato da PHP se non esiste già
    	lv.filename = "file.txt";
    	// il contenuto del testo da scrivere nel txt
    	lv.my_content = testo.text;
    	// l'ultima riga invia direttamente a php senza aspettarsi una risposta in cambio (apre una nuova finestra)
    	lv.send("process.php", "_blank");
    };
    c'è parecchio da "affinare", ma vedi un po' se riesci a trarne spunto... io ora devo scappare...

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    198
    Grazie per la collaborazione, intervieni sempre tu

    Ho provato a fare delle prove ovviamente, qualcosa ho combinato, ma nulla di che, si è creato il file di testo ma non lo ha riempito se non con un "undefined".

    Andiamo per gradi. File php.

    $cont->directory (directory deve rimanere directory o posso dargli il nome della cartella che voglio crerare???)

    $cont->directory$cont->filename (questo filename a cosa è riferito? E' la sintassi di php e nulla più?)

    Scrivo delle banalità lo so, ma non sono un programmatore. :rollo:


    File flash, solo una cosa non mi è chiara:

    // il contenuto del testo da scrivere nel txt
    lv.my_content = testo.text;

    ossia testo.text: testo cosa sarebbe, la variabile da indicare alla casella input???
    La vita è una tempesta, ma prenderla nel culo è un lampo...

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    $cont->directory (directory deve rimanere directory o posso dargli il nome della cartella che voglio crerare???)

    directory è il nome della variabile che contiene il nome della cartella, che scegli dallo script di Flash, ricorda solo che nella sintassi devi passare il nome della cartella e lo slash finale

    $cont->directory$cont->filename (questo filename a cosa è riferito? E' la sintassi di php e nulla più?)

    no, anche questo è il nome della variabile passata da flash a php


    // il contenuto del testo da scrivere nel txt
    lv.my_content = testo.text;
    ossia testo.text: testo cosa sarebbe, la variabile da indicare alla casella input???


    non indica la variabile, quella deve stare vuota... indica il nome di istanza, testo è appunto il nome di istanza del campo di testo dinamico di input

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    198
    Grazie mille, ho capito tutto, scusa per le banalità che ho scritto, ci sarei dovuto arrivare da solo leggendo i due file ma l'ora tarda mi ha fregato.

    Ho provato ed è funzionato tutto al primo colpo, si è creata la directory, il file di testo e mi ha correttamente scritto lo stesso file. Ora solo una piccola formalità: gli indirizzi email e cmq qualsiasi cosa inserisca nel campo input mi viene si scritto pero' tutto incollato insieme senza spazio nè punto e virgola. Es.

    al primo invio mi scrive correttamente l'email:

    pippo@miaemail.it


    al secono invio mi scrive si la nuova email ma attaccata all'altra:

    pippo@miaemail.itorlando@miaemail.it


    Ora devo per lo meno spaziarlo. Immagino che sia un problema di php. E' meglio postare in php o puoi darmi gentilmente una dritta tu?

    Ancora grazie.
    La vita è una tempesta, ma prenderla nel culo è un lampo...

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    modifica questa riga

    fwrite($fp, $cont->my_content);

    aggiungendo un separatore, quello che vuoi, ad esempio con "§", farai

    fwrite($fp, $cont->my_content."§");

    e ad ogni nuovo inserimento avrai

    pippo@miaemail.it§

    pippo@miaemail.it§orlando@miaemail.it§

    e così via

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    198
    Fatto, anche questa funziona al primo colpo!!!

    Ultima cosa: mi piacerebbe che venisse comunicato, una volta clikkato il bottone di invio, che l'email è stata inserita correttamente. Non mi interessa il controllo dell'email, semplicemente che appaia la scrittà "ti sei registrato!". Credo si possa fare direttamente da flash senza passare da php e quindi senza ripassare dati da una piattaforma ad un'altra...

    Sono indeciso se fare

    pulsante.onrelease

    e quindi caricare un filmato esterno che contiene solo la scritta "ti sei registrato" (ma mi sa di complesso in maniera assurda)

    oppure se posso far scrivere direttamente il file flash (tipo il print o echo di php). Spero di essermi spiegato.
    La vita è una tempesta, ma prenderla nel culo è un lampo...

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ecco cosa intendevo con
    c'è parecchio da "affinare", ma vedi un po' se riesci a trarne spunto...


    io invece farei una verifica vera e propria per capire se il file txt è stato scritto correttamente o meno... flash agirebbe in maniera silenziosa, senza richiamare il file php in una nuova finestra ed otterrebbe un output in base alla correttezza della scrittura del txt
    il tutto utilizzando sendAndLoad al posto del singolo send

    ora però devo mangiare vediamo più tardi

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Codice PHP:
    <?php
    if(!empty($_POST)){
        
    $cont = (object) $_POST;
        if(!
    file_exists($cont->directory)){
            
    mkdir($cont->directory"0755");
            
    chmod($cont->directory"0777");
        }
        
    $fp fopen("$cont->directory$cont->filename""a");
        if (!
    fwrite($fp$cont->my_content."§") === FALSE) {
            echo 
    "&result=ok&";
            exit;
        }
        echo 
    "&result=ko&";
        
    fclose($fp);
    }
    ?>
    codice:
    pulsante.onRelease = function () {
    	var lv:LoadVars = new LoadVars();
    	lv.directory = "prova/";
    	lv.filename = "file.txt";
    	lv.my_content = testo.text;
    	lv.sendAndLoad("http://127.0.0.1/www/__FLA/writeTxtFromFlash/process.php", lv, "POST");
    	lv.onLoad = function(ok){
    		if(ok){
    			if(this.result != "ok"){
    				trace("Non è stato possibile scrivere il file!");
    			} else {
    				trace("Scrittura eseguita correttamente!");
    			}
    		} else {
    			trace("Errore di comunicazione con il process.php!");
    		}
    	}
    };

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.