Visualizzazione risultati 1 fino 13 di 13

Discussione: Scrivere informazioni in sequenza su file txt

  1. #1
    Guest

    Predefinito

    Ciao, avendo bisogno ge gestire una mailing list, ma volendo farlo con un mio programma, vorrei permettere liscrizione all ml tramite linserimento del propio indirizzo di posta tramite un form che facesse al caso mio.
    cioè vorrei ke salvasse tutti gli indirizzi email uno in un file .txt e dopo ogni indirizzo andasse a capo.

    cioè il primo untente mette la sua mail: ccc(at)ciao.it
    poi il secondo la sua bbb(at)ciao.it poi ancora
    il terzo fff(at)ciao.it e cosi via. il file poi dovrebbe essere:

    ccc(at)ciao.it
    bbb(at)ciao.it
    fff(at)ciao.it

    magari inplementando un controllo sulla sintassi del indirizzo immesso (magari!!) cioe che se non è qualkekosa(at)qualkekosa.kualkekosa

    mi desse errore e da ripetere limmissione.

    SI puo? Grazie mIlle mi spiegate come ?

    Garzie!!

  2. #2
    L'avatar di marcio
    marcio non è connesso AlterGuru 2500
    Data registrazione
    17-08-2003
    Residenza
    Palermo
    Messaggi
    3,300

    Predefinito

    ti consiglio di usare il db mysql

  3. #3
    Guest

    Predefinito

    Si forse sarebbe meglio ma io ho la necessita di creare propio un file txt e propio in quel modo...

    Grazie Ciao

  4. #4
    L'avatar di Evcz
    Evcz non è connesso Utente storico
    Data registrazione
    31-05-2002
    Residenza
    Vicenza
    Messaggi
    5,670

    Predefinito

    ecco un esempio:

    1) apri il file (se non esiste lo crea) puntando all'ultima riga
    [code:1:ab8e9729e1]$fp = fopen ("nomefile.txt", "a");[/code:1:ab8e9729e1]

    2) scrivi quello che vuoi (ricordati di mandare a capo con \n)
    [code:1:ab8e9729e1]$stringa = "".$stringa."\n";
    fwrite($fp, $stringa);[/code:1:ab8e9729e1]

    3) chiudi il file.
    [code:1:ab8e9729e1]fclose($fp);[/code:1:ab8e9729e1]
    There are three kinds of people in this world: people who watch things happen ... people who complain about things that happen ... and people who make things happen...

  5. #5
    Guest

    Predefinito

    Evcz, spero che ti arrivi la notifica in email di qst tread.. che adesso mi servirebbe... ma nn ci capisco piu una mazza per colpa del cambio forum...

  6. #6
    Guest

    Predefinito

    ecco quello che piu o meno da solo sono riucito a fare...

    file uno.htm
    Codice HTML:
    <html>
    <body>
    <center>
    <form method=get action="verifica.php">
    
    <br>Inserisci la tue email
    <input type="text" name="email" size="20">
    <br>
    
    
    <br>
    <input type="submit" value="Invia">
    <input type="reset" value="Cancella">
    </form>
    
    </body>
    </html>
    file verifica.php
    Codice PHP:
    <?php

    echo "<center>";
    echo
    "Ciao ecco i risultati del tuo inserimento:";
    echo
    " <br>";
    echo
    "Inserimento riuscito";


    #controllo che il file sia accessibile
    if (!$apri = fopen ("file.txt","a+")) {
    $errore=true;
    echo
    "non posso aprire il file";
    }else{
    $apriw = fopen ("file.txt","a+");


    # e sul file scrivo nome e vado a capo,il recapito e vado a capo

    # l'oggetto e vado a capo e la linea ti separazione
    fputs($apriw,"$email\n");


    #chiudo il file
    fclose($apriw);
    }

    #se c'e l'errore mi dice di inserirli di nuovo altrimenti mi fa leggere gli annunci
    if($errore){
    echo
    "<br> Riinseriscili perfavore<br>";
    }
    else{
    echo
    "<br> <a href=\"uno.htm\">Torna Indietro</a>";
    }
    ?>

    il tutto funziona egregimente ma vorrei implementare il controllo che quella messa sia la sintassi di un email valida....

    de tipo qlkosa@qlkosa.qlkosa e che altrmenti dia un mess di erroe...

    si puo? certo che si puo ma mi date una mano?

  7. #7
    Guest

    Predefinito

    Ciao Posco!

    Il modo migliore per validare l'indirizzo e-mail mi sa che è spedire una mail di convalida, che contiene un codice casuale. Se il codice spedito e quello che è stato rimandato dall'utente combaciano allora la mail è valida ed appartiene all'utente!

  8. #8
    Guest

    Predefinito

    si ma e me servirebbe propio quella cosa li.... che controlli solo la sintassi dell indirizzo.... immagino si faccia in php ma nn ne sono capace..

  9. #9
    Guest

    Predefinito

    Un semplice controllore di sintassi non basta.
    In ogni caso dovresti verificare che ella stringa c'é una sola @ e che non sia né all'inizio né alla fine della stringa e che comunque il . sia la terzultima o quartultima lettera.

    Anche se la cosa migliore sarebbe quello di mandare all'indirizzo specificato una mail d'attivazione, in tal modo sei sicuro che l'indirizzo esiste...

  10. #10
    Guest

    Predefinito

    dovresti risolvere parzialmente con l'uso delle espressioni regolari: non è detto che l'indirizzo email sia valido,ma per verificare la presenza del @ e del punto dovrebbe essere sufficiente!

  11. #11
    Guest

    Predefinito

    si lo so grazie a tutti della risposta... ma io ho solamente bisogno del controllo sintassi.... per il resto mi interessa per ora.....

  12. #12
    Guest

    Predefinito

    prova cosi' (ho cambiato un pajo di cose nel tuo codice e ho aggiunto la regexp che uso io per controllare le mail (le @ prima dei nomi di funz servono a evitare che mostrino i msg di errore predefiniti in caso di problemi):
    Codice PHP:
    <?php

    echo "<p style=\"text-align: center\">"; //meglio usare un p del deprecato center
    echo "Ciao ecco i risultati del tuo inserimento:</p>";
    echo
    "<p style=\"text-align: center\">";

    //questa e' la regexp che uso io per il controllo della mail, mi pare funzi bene
    if (!preg_match ("/^[\w_\.-]+?@[\w_-]+?\.[\w\._-]{2,}$/", $email)) {
    echo
    "inserisci un indirizzo email valido.</p>";
    } else {
    //controllo che il file sia accessibile -> con questa linea apre anche il file, qnd quella di dopo non serve
    if (!$apri = @fopen ("file.txt","a+")) {
    //usare la variabile di errore e' inutile, si puo' fare direttamente
    echo "C'e' stato un errore nell'aprire il file.</p>";
    echo
    "<p style=\"text-align: center\">Riinseriscili per favore</p>";
    }else{

    # sul file scrivo nome e vado a capo,il recapito e vado a capo

    @fputs($apri,"$email\n");


    #chiudo il file
    @fclose($apri);
    echo
    "tutto ok. <a href=\"uno.htm\">Torna Indietro</a></p>";
    }
    }
    ?>

  13. #13
    Guest

    Predefinito

    Bello Grazie dxblade.. adesso la provo..

    Grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •