• User Attivo

    Nella pagina html avrai qualcosa di questo tipo:

    [html]
    <FORM action="gestoremail.php" method="POST">
    Nome: <INPUT TYPE="text" NAME="nome"> 
    E-mail: <INPUT TYPE="text" NAME="email" SIZE="18">
    <INPUT NAME="submit" TYPE="submit" VALUE="Submit">
    </FORM>
    [/html]

    Mentre nel file gestoremail.php avrai un codice tipo questo, anche se chiaramente + elaborato (inoltre sarebbe meglio che tenessi tutto il codice in una sola pagina...ma facciamo secondo lo stile di madri come da te richiesto).

    gestoremail.php

    [php]
    <?php

    if ( $_POST['submit'] != "Submit")
    {
    echo "Impossibile completare l'operazione!";
    }

    else
    {
    //recupera i dati passati con il post
    $mail_iscritto = strip_tags($_POST['email']);
    $nome_iscritto = strip_tags($_POST['nome']);

    //qui sotto devi mettere il percorso assoluto per arrivare
    //al file dove verranno salvati i dati
    $fd = fopen ("/www/tuosito.it/htdocs/listamail.txt", "a");
    $contenuto = $nome_iscritto . " - " . $mail_iscritto . "\r\n";
    fwrite($fd, $contenuto);
    fclose($fd);

    //qui sotto devi inserire il tuo indirizzo di posta sul quale vuoi
    //ricevere le mail, il contenuto del messaggio da inviare e l'oggetto
    $tua_mail = "[email protected]";
    $oggetto="oggetto della mail";
    $messaggio = "Grazie per esserti iscritto BLA BLA BLA";

    $a= $mail_iscritto . ";" . $tua_mail;
    $intestazioni= "From: TUONOME [email protected] \r \n";
    $intestazioni .= "Reply-To: TUONOME [email protected] \r \n";
    $intestazioni .= "X-Mailer: PHP/" . phpversion();
    mail($a, $oggetto, $messaggio, $intestazioni);

    echo "Tutto è andato a buon fine!";

    }

    [/php]

    Non riesco a cambiare il colore nel codice php per farti capire le parti che devi personalizzare...ad ogni modo credo che si capisca dove devi cambiare i dati fittizi con quelli reali.

    Spero che, tanto per iniziare, possa andare bene...


  • User Attivo

    ienavr ti ringrazio tantissimo per la tua risp.... cercando online ho trovato questo script che mi da la possibilità di far iscrivere gli utenti alla newsletter e di personalizzare i messaggi ... i dati vengono registrati su file .dat (necessario visto ke lo spazio non ha db) e poi si possono anche inviare i messaggi agli scritti.. il file principale (unico) è MailList.php dove vi è tutto il codice:


  • User Attivo

    ienavr ti ringrazio tantissimo per la tua risp.... cercando online ho trovato questo script che mi da la possibilità di far iscrivere gli utenti alla newsletter e di personalizzare i messaggi ... i dati vengono registrati su file .dat (necessario visto ke lo spazio non ha db) e poi si possono anche inviare i messaggi agli scritti.. il file principale (unico) è MailList.php dove vi è tutto il codice:


  • User Attivo

    figurati! se puoi metti un link al file che hai trovato di modo che chiunque ne abbia bisogno ne possa fruire... (in questo modo semplificheresti anche la vita a tutti coloro che hanno una necessità simile alla tua)

    ciao


  • User Attivo

    finalmente il forum è ok ... prima ho mandato il msg ma non ho avuto la possibilità di proseguire... ti dicevo che ho trovato uno script davvero ben fatto il file principale è maillist.php ........ il codice lo trovi nel file allegato ... vorrei aggiungere il modulo per inserire il nome e poi nell'email che manda di benvenuto .. mettere ciao <nome>
    l'email di benventuo penso ke sia la porzione di codice:

    function send_welcome($email) {
    // Send confirmation letter to new subscriber.
    global $welcome_msg, $welcome_subject, $list_name, $owner_email, $sig, $version;
    $welcome_subject = replace_shortcuts($welcome_subject, $email);
    $headers = "From: "$list_name" <$owner_email>\nReply-To: $owner_email\nX-Mailer: PHPMailList V$version http://php.warpedweb.net/";
    $welcome_msg .= "\n\n$sig";
    $welcome_msg = replace_shortcuts($welcome_msg, $email);
    mail($email, $welcome_subject, $welcome_msg, $headers);
    }

    protesti dargli un okkio 🙂
    se vuoi tutti i file li puoi scaricare da qui:

    http://www.fgtendaggi.it/8_mail_list.zip


  • User Attivo

    non ho al momento il tempo di guardare tutto il codice...però il soggetto del messaggio è salvato nella variabile $welcome_subject


    ti basterebbe sostituire quindi questa riga:
    $welcome_subject = replace_shortcuts($welcome_subject, $email);
    con questa:
    $welcome_subject = "Ciao" . $nome_iscritto;

    dove la variabile $nome_iscritto viene passata tramite un POST dal form allo script php

    **

    **


  • User Attivo

    ok allora andiamo passo passo...
    il codice del form è questo:

    <form method="post">
    Tuo nome:<input type="text" name="nome" value="" size="20">
    Tua e-mail:<input type="text" name="email" value="Tua e-mail" size="20">
    <input type="radio" name="action" value="sub" checked><font size="-1"> Subscribe</font>
    <input type="radio" name="action" value="unsub"><font size="-1"> Unsubscribe</font>
    <input type="submit" value="submit"></form>

    come vedi ho aggiunto il campo nome che passa tramite post...

    ora il msg di benvenuto viene elaborato sempre nella stessa pagina .. ed il codice in questione è questo:

    function send_welcome($email) {
    // Send confirmation letter to new subscriber.
    global $welcome_msg, $welcome_subject, $list_name, $owner_email, $sig, $version;
    $welcome_subject = replace_shortcuts($welcome_subject, $email);
    $headers = "From: "$list_name" <$owner_email>\nReply-To: $owner_email\n";
    $welcome_msg .= "\n\n$sig";
    $welcome_msg = replace_shortcuts($welcome_msg, $email);
    mail($email, $welcome_subject, $welcome_msg, $headers);
    }

    in quest codice si deve implementare la varibile $nome. il msg (NO IL SOGGETTO) che arriva alla persona deve essere:
    Ciao <nome>,
    grazie....... bla bla bla...


  • User Attivo

    ci sono delle cose che non vanno:

    anzitutto
    <input type="submit" value="submit">
    qui manca il name e quindi come può lo script riconoscere la variabile submit se non le dai un nome?

    Quindi devi mettere:
    <input type="submit" name="submit" value="submit">

    Ancora più grave:
    <form method="post">
    in questo caso manca l'action. Con l'action indichi quale sarà la pagina php incaricata di ricevere le variabili passate dal form ed elaborarle.

    Se, come dici, la pagina è la stessa in cui è contenuto il form devi mettere:
    <form method="post" action= $PHP_SELF>

    La variabile $nome la recuperi al di fuori della funzione send_welcome e si recupera scrivendo così: $nome = $_POST['nome'];

    Infine sostitusici
    $welcome_msg .= "\n\n$sig"; con
    $welcome_msg = "Ciao " . $nome . ", grazie ....bla bla bla...";

    e cancella questa riga:
    $welcome_msg = replace_shortcuts($welcome_msg, $email);

    Un modo più semplice di fare le cose, in alternativa, è di leggersi il file README ( = Leggimi ) contenuto nello zip che hai postato. E' molto chiaro e utile.


  • User Attivo

    c'è qualcosa che nn mi convince....
    allora proviamo (ne approfitto della tua gentilezza) a configurarlo insieme ... se vai qui

    http://www.fgtendaggi.it/mail/maillist.php?action=admin

    entri nel pannello di controllo ecco i dati:

    user
    pass

    entrando nell'amministrazione vedi che ci sono varie possibilità:
    . mandare un messaggio di benvenuto

    • mandare un email di conferma registrazione
    • ed un messaggio quando l'utente si cancella

    ci sono delle varibili:
    %list_name% = The name of the list.
    %email% = The email address the email is being sent it.
    %confirm_url% = URL user must go to to confirm subscription.
    %subscribe_url% = URL users go to to resubscribe.
    %unsubscribe_url% = URL where user can unsubscribe.

    che possono essere inserite nel messaggio .....
    ora io vorrei scrivere la variabile nome in questo modo ....

    grazie per il tuo aiuto


  • User Attivo

    ho modificato una cosa nella configurazione

    devi poi sostituire la funzione send_welcome($email) originale con questa:

    function send_welcome($email) {
    // Send confirmation letter to new subscriber.
    global $welcome_msg, $welcome_subject, $list_name, $owner_email, $sig, $version, $nome;
    $welcome_subject = replace_shortcuts($welcome_subject, $email);
    $headers = "From: "$list_name" <$owner_email>\nReply-To: $owner_email\nX-Mailer: PHPMailList V$version http://php.warpedweb.net/";
    $welcome_msg .= "\n\n$sig";
    $welcome_msg = replace_shortcuts($welcome_msg, $email);
    $welcome_msg = str_replace("{nome}", $nome, $welcome_msg);
    mail($email, $welcome_subject, $welcome_msg, $headers);
    }

    e dovrebbe andare. Fammi sapere


  • User Attivo

    ok funziona perfettamente ....
    un ultima cosa .... vorrei che nel file dat si registrasse anche il nome oltre all'email .. il codice in questione che apre e chiude il file è questo:

    function remove_from_list($email) {
    // Removes the address from the file.
    global $list_file;
    $file = @file($list_file);
    $success = false;
    $fd = @fopen($list_file, "w") or die("<center><b>The list data file could not be opened for writing.</b></center>");
    if ($file) {
    foreach($file as $address) {
    $address = trim($address);
    if ($address != $email) fputs($fd, "$address\n");
    else $success = true;
    }
    fclose($fd);
    }
    return $success;
    }

    function add_to_list($email) {
    // Adds the email address to the data file.
    global $list_file;
    $fd = @fopen($list_file, "a") or die("<center><b>The list data file could not be opened.</b><br>Check the path and permissions.</center>");
    fputs($fd, strtolower($email)."\n");
    fclose($fd);
    return true;
    }

    potresti darmi una mano (che spacciato che sono) anche con questa parte di codice ??? 🙂


  • User Attivo

    per quanto riguarda la scrittura del file ... forse ci sto riuscendo .. allora ecco il codice che ho aggiunto:

    function add_to_list($email) {
    // Adds the email address to the data file.
    $nome = $_POST['nome'];
    global $list_file;
    $fd = @fopen($list_file, "a") or die("<center><b>The list data file could not be opened.</b><br>Check the path and permissions.</center>");
    fputs($fd, strtolower($nome));
    fputs($fd, strtolower($email)."\n");
    fclose($fd);
    return true;
    }

    però cosi il nome e l'email viene attaccato non riesco a dare lo spazio tra le due variabili


  • User Attivo

    fai così (in questo modo scriverà, ad esempio: nomeutente - [EMAIL="[email protected]"][email protected][/EMAIL] 😞

    function add_to_list($email) {
    // Adds the email address to the data file.
    $nome = $_POST['nome'];
    global $list_file;
    $fd = @fopen($list_file, "a") or die("<center><b>The list data file could not be opened.</b><br>Check the path and permissions.</center>");
    fputs($fd, strtolower($nome). " - " . strtolower($email)."\n");
    fclose($fd);
    return true;
    }


  • User Attivo

    perfetto funziona .. ma c'è un piccolo problem ... quando provo a cancellare l'email tramite Unsubscribe selezionato ... l'email non viene cancellata , ovviamente la funzione :
    function remove_from_list($email) {
    // Removes the address from the file.
    global $list_file;
    $file = @file($list_file);
    $success = false;
    $fd = @fopen($list_file, "w") or die("<center><b>The list data file could not be opened for writing.</b></center>");
    if ($file) {
    foreach($file as $address) {
    $address = trim($address);
    if ($address != $email) fputs($fd, "$address\n");
    else $success = true;
    }
    fclose($fd);
    }
    return $success;
    }

    non riconosce:

    nome utente - email

    ?????????????????????


  • User Attivo

    Prova questa soluzione:

    function remove_from_list($email) {
    // Removes the address from the file.
    global $list_file;
    $file = @file($list_file);
    $success = false;
    $fd = @fopen($list_file, "w") or die("<center><b>The list data file could not be opened for writing.</b></center>");
    if ($file) {
    foreach($file as $address) {
    $address2 = trim(substr(stristr($address, "-"),2));
    if ($address2 != $email) fputs($fd, "$address\n");
    else $success = true;
    }
    fclose($fd);
    }
    return $success;
    }


  • User Attivo

    Ok Tutto Perfetto ... Sei Ingamba... Ci Sentiamo ...


  • User Attivo

    è sempre un piacere aiutare le persone riconoscenti! :ciauz:


  • User Attivo

    ienavr ho un piccolo problema ... l'email e nomi posso essere registrati continuamente anche già presente nel file list.dat ... il codice in questione dovrebbe essere questo:

    [php]
    function subscribe($email, $nome, $send_confirm, $send_welcome) {
    // Subscribes address to list.
    global $list_name;
    if (($email == ""))
    {
    print_subscribe_form();
    }
    else {
    if (!banned($email)) {
    if (!on_list($email)) {
    if (valid_email($email)) {
    if ($send_confirm == "on") {
    send_confirm($email);
    echo "<h4 align="center">"$nome" Grazie per la tua registrazione a "$list_name".</h4><center>Un e-mail è stata inviata a "$email" asking you to confirm your subscription.<br>Please follow those instructions to complete the process.</center>";
    }
    else {
    if (add_to_list($email)) {
    echo "<h4 align="center">"$nome" l'e-mail: "$email" è stata registrata corettamente in "$list_name".</h4>";
    if ($send_welcome == "on") {
    send_welcome($email);
    echo "<br><center>Riceverai a breve un e-mail con le informazioni per scaricare gratuitamente i tuoi due regali, Grazie. <br><br><img src="logo copia ok.png" alt="logo Tendaggi" /><br><br>|<a href="http://www.fgtendaggi.it">Vai alla Home</a>| <a href="http://www.fgtendaggi.it/tende e tendaggi.html"> Visita il sito</a>|</center>";
    }
    }
    }
    }
    else echo "<h4 align="center">L'indirizzo e-mail: "$email" non è valido.</h4>";
    }
    else echo "<h4 align="center">L'e-mail: "$email" risulta già nel nostro database.<br> Se vuoi scaricare nuovamente i due regali contattaci a [email protected]</h4> <br><br><img src="logo copia ok.png" alt="logo Tendaggi" /><br><br>|<a href="http://www.fgtendaggi.it">Vai alla Home</a>| <a href="http://www.fgtendaggi.it/tende e tendaggi.html"> Visita il sito</a>|</center>";
    }
    else echo "<h4 align="center">L'indirizzo e-mail: "$email" è sospeso da "$list_name".</h4>";
    }
    }
    [/php]
    ma cosa c'è che non và secondo te????????


  • User Attivo

    ciao vincenzo e scusa se non ho risposto prima!

    La funzione da cambiare non è subscribe, ma on_list.

    Per la precisione devi sostituire questo pezzo di codice:

    function on_list($email) {
    // Returns true if email address is on list.
    global $list_file;
    $found = false;
    $file = @file($list_file);
    if ($file) {
    foreach ($file as $address) {
    if (trim($address) == trim($email)) {
    $found = true;
    }
    }
    }
    return $found;
    }

    con questo:

    function on_list($email) {
    // Returns true if email address is on list.
    global $list_file;
    $found = false;
    $file = @file($list_file);
    if ($file) {
    foreach ($file as $address) {
    if ( trim(substr(stristr($address, "-"),2)) == trim($email)) {
    $found = true;
    }
    }
    }
    return $found;
    }

    Spero che sia tutto corretto!

    Ciao


  • User Attivo

    fantastico ... tutto coretto ... sono ripetitivo ma non posso esimermi dal farti i complimenti 😉