• User

    Newsletter php

    Ciao a tutti, sono nuovo del forum ed è bello.
    Allora, vi spiego il mio problema:
    ho fatto questo codice per scrivere in un file le email, ma non funziona e nel file mi scrive solo "emailemailemail" ecc. Mi potete aiutare? grazie!
    [PHP]<?php
    $filename = 'iscritti.txt';
    $somecontent = "$email";
    if (is_writable($filename)) {
    if (!$handle = fopen($filename, 'a')) {
    echo "Non si riesce ad aprire il file ($filename)";
    exit;
    }

    if (!fwrite($handle, $somecontent) ===FALSE) {
        echo "Non si riesce a scrivere nel file ($filename)";
        exit;
    }
    
    echo "Riuscito, scritto ($somecontent) nel file ($filename)";
    
    fclose($handle);
    

    } else {
    echo "Il file $filename non è accessibile";
    }
    $_POST['email'];
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Newsletter</title>
    </head>
    <body>
    <SCRIPT LANGUAGE="JavaScript">
    function checkCheckBox(f){
    if (f.agree.checked == false )
    {
    alert('Devi accettare le condizioni!');
    return false;
    }else
    return true;
    }
    </script>
    <h4>Benvenuto nella sezione Newsletter! Qui puoi registrare la tua e-mail e puoi ricevere le newsletter del mio sito.</h4>
    <h3>Per registrare la tua e-mail, leggi qui sotto:</h3>
    <br /><br />
    <form action="" method="post" onsubmit="return checkCheckBox(this)">
    <textarea name="textarea" cols="30" readonly="readonly" style="overflow:visible;height:170px;">
    Trattamento dei dati personali:
    Queste newsletter verranno inviate automaticamente e non sono spam.
    Vi saranno inviate mail solo sull'aggiornamento del sito e della
    conferma. Clicca sul checkbox, accettando queste condizioni.
    </textarea>
    <br /><br />
    <input type="checkbox" value="0" name="agree">
    Accetto di aver letto le condizioni indicate qui sopra.
    </input>
    <br /><br />
    <input type="text" maxlength="25" name="email"/>
    <input name="Invia" type="submit" id="Invia" value="Invia"/>
    </input>
    </form>
    </body>
    </html>[/PHP]


  • User

    Ciao,
    non l'ho controllato ma a occhio quel
    [php]$somecontent = " $email ";[/php]
    deve diventare
    [php]$somecontent = "$_POST[ email ]";[/php]

    senza spazi, li ho messi perchè altrimenti non mi faceva postare.
    Ciao


  • User

    Ok, grazie ma mi dice
    Non si riesce a scrivere nel file (iscritti.txt).
    Che faccio?
    I permessi li ho messi a 777.


  • User

    Aggiustalo un pò ma lo scheletro potrebbe essere questo:
    [php]
    <?php
    $filename = "iscritti.txt";
    $somecontent = "$_POST[ email ]";
    if (is_writable($filename)) {
    if ($handle = fopen($filename, "a")) {
    if (fwrite($handle, $somecontent)) {
    echo "Email inserita correttamente nel file ($filename)";
    }
    }
    } else {
    echo "Il file $filename non è accessibile";
    } fclose($handle);
    ?>
    [/php]Per sicurezza dai anche una controllata/ripulita al $_POST[ email ] che ricevi prima di scriverla.
    :ciauz:


  • User

    Ok grazie mille funziona.
    Ora come faccio a fare il codice php che invia email a tutte quelle del file iscritti.txt ??
    L'html lo so fare, mi serve solo il php.
    Grazie!


  • User

    up!


  • User

    @harrypale said:

    ok grazie 1000 funziona.
    ora come faccio a fare il codice php che invia email a tutte quelle del file
    iscritti.txt ??
    l'html lo so fare, mi serve solo il php
    grazie!

    Crea un ciclo che preleva ogni riga del file e usa la funzione mail()..

    Ciao


  • User

    Grazie!