Visualizzazione risultati 1 fino 9 di 9

Discussione: Modificare codice Newsletter [NO AV]

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito Modificare codice Newsletter [NO AV]

    Salve mi sapreste modificare questo codice affinchè un utente appena iscritto riceva un messaggio di benvenuto tramite mail semmai questo messaggio è scritto in file di testo? Inoltre al posto di $googbye e $welcome posso inserire un alert?
    Codice PHP:
    <?
    error_reporting
    (0);
    include(
    "config.php");

    function
    checkmail ($email)
    {
    global
    $listfile;
    $fd = fopen ($listfile, "r");
    $contents = fread ($fd, filesize ($listfile));
    fclose ($fd);

    if (@
    stristr($contents,$email))
    $valid = "invalid";
    if (
    eregi("^[_\.0-9a-z-]+@([0-9a-z][-0-9a-z\.]+)\.([a-z]{2,3}$)", $email) && !isset($valid))
    $valid = "valid";
    else
    $valid = "invalid";

    return
    $valid;
    }

    if (
    $action == "subscribe" && isset($email))
    {
    $valid = checkmail($email);
    if (
    $valid == "valid")
    {
    $fp = fopen($listfile, 'a+');
    flock($fp,2);
    fwrite($fp,"".strtolower($email).",");
    fclose($fp);
    header ("Location: ".$welcome."");
    exit;

    }
    else {
    header ("Location: ".$error."");
    exit;
    }
    }
    elseif (
    $action == "unsubscribe" && isset($email))
    {
    $fd = fopen ($listfile, "r");
    $contents = fread ($fd, filesize ($listfile));
    fclose ($fd);
    $allpeople = "";
    $entries = explode(",",$contents);
    for(
    $i=0;$i<count($entries);$i++)
    {
    if (
    strtolower($email) == strtolower($entries[$i]))
    $found = "yes";
    elseif (
    $entries[$i] != "")
    $allpeople .= "".$entries[$i].",";
    }
    if (
    $found == "yes")
    {
    $fp = fopen($listfile, 'w');
    fwrite($fp,$allpeople);
    fclose($fp);
    }
    header ("Location: ".$goodbye."");
    exit;

    }
    else
    header ("Location: ".$error."");
    exit;
    ?>
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    header ("Location: ".$goodbye."");
    exit;
    Questo serve a fare il redirect verso la pagina che c'è come valore della variabile $goodbye (lo stesso vale per $error e $welcome) e a bloccare l'esecuzione dello script.
    Se vuoi mettere un alert, basta che al posto di quelle righe metti:
    Codice PHP:
    echo "<script type=\"text/javascript\">
    alert('messaggio');
    </script>"
    ;
    Per mandare l'e-mail puoi aggiungere la funzione mail prima di:
    Codice PHP:
    header ("Location: ".$welcome."");
    Ultima modifica di funcool : 06-08-2007 alle ore 20.03.51
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Ospite Guest

    Predefinito

    Per prima cosa,leva quell' error_reporting(0) all'inizio che nasconde gli errori.
    POI lo rimetterai (se vorrai) una volta terminata la modifica dello script.
    Metti dopo:
    Codice PHP:
    $fp = fopen($listfile, 'a+');
    flock($fp,2);
    fwrite($fp,"".strtolower($email).",");
    fclose($fp);
    Codice PHP:
    mail($email,"Messaggio di benvenuto",file_get_contents("messaggio_benvenuto.txt"));
    Il messaggio di benvenuto devi inserirlo nel file messaggio_benvenuto.txt

    Per l'alert, non puoi metterlo nelle variabili indicate, perchè queste vengono utilizzate come argomento della funzione header() per il redirect.
    Però potresti togliere quella funzione e inserire l'alert in output,magari con echo o print:

    Codice PHP:

    echo "<script type=\"text/javascript\">alert('benvenuto');</script>";

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,292

    Predefinito

    no, $goodbye ed $error sono indirizzi di pagine a cui vieni redirezionato. Se ci vuoi mettere un messaggio, non lo metti nelle variabili. Togli la chiamata ad header() e cambi il programma.

    Per inviare mail, prova a cercare sul forum, o a leggere una delle tante guide sull'invio mail che puoi trovare.

    Inoltre forse dovresti leggerti qualche guida sul php, in modo da non dover fare domande come questa. Sebbene molto disponibili, gli utenti di questo forum non sono qua per scrivere programmi agli altri. Correggerli è già più probabile
    Ultima modifica di dreadnaut : 06-08-2007 alle ore 20.19.30

  5. #5
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Citazione Originalmente inviato da probid Visualizza messaggio
    Per prima cosa,leva quell' error_reporting(0) all'inizio che nasconde gli errori.
    POI lo rimetterai (se vorrai) una volta terminata la modifica dello script.
    Metti dopo:
    Codice PHP:
    $fp = fopen($listfile, 'a+');
    flock($fp,2);
    fwrite($fp,"".strtolower($email).",");
    fclose($fp);
    Codice PHP:
    mail($email,"Messaggio di benvenuto",file_get_contents("messaggio_benvenuto.txt"));
    Il messaggio di benvenuto devi inserirlo nel file messaggio_benvenuto.txt

    Per l'alert, non puoi metterlo nelle variabili indicate, perchè queste vengono utilizzate come argomento della funzione header() per il redirect.
    Però potresti togliere quella funzione e inserire l'alert in output,magari con echo o print:

    Codice PHP:

    echo "<script type=\"text/javascript\">alert('benvenuto');</script>";
    Aspetta probid non ho capito, se non sbaglio il codice per la mail che hai messo tu invia a tutti gli iscritti la mail di benvenuto no?
    Apprezzi l'aiuto? Offrimi un caffè!

  6. #6
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Aspetta probid non ho capito, se non sbaglio il codice per la mail che hai messo tu invia a tutti gli iscritti la mail di benvenuto no?
    Quando si iscrive un nuovo utente, gli dovrebbe arrivare l'email.

  7. #7
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Scusami ma non mi trovo, come verrebbe il codice? Cosi:
    Codice PHP:
    <?
    include("config.php");

    function
    checkmail ($email)
    {
    global
    $listfile;
    $fd = fopen ($listfile, "r");
    $contents = fread ($fd, filesize ($listfile));
    fclose ($fd);

    if (@
    stristr($contents,$email))
    $valid = "invalid";
    if (
    eregi("^[_\.0-9a-z-]+@([0-9a-z][-0-9a-z\.]+)\.([a-z]{2,3}$)", $email) && !isset($valid))
    $valid = "valid";
    else
    $valid = "invalid";

    return
    $valid;
    }

    if (
    $action == "subscribe" && isset($email))
    {
    $valid = checkmail($email);
    if (
    $valid == "valid")
    {
    $fp = fopen($listfile, 'a+');
    flock($fp,2);
    fwrite($fp,"".strtolower($email).",");
    fclose($fp);
    mail($email,"Messaggio di benvenuto",file_get_contents("messaggio_benvenuto.txt"));

    echo
    "<script type=\"text/javascript\">
    alert('Benvenuto.');
    </script>"
    exit;

    }
    else {
    header ("Location: ".$error."");
    exit;
    }
    }
    elseif (
    $action == "unsubscribe" && isset($email))
    {
    $fd = fopen ($listfile, "r");
    $contents = fread ($fd, filesize ($listfile));
    fclose ($fd);
    $allpeople = "";
    $entries = explode(",",$contents);
    for(
    $i=0;$i<count($entries);$i++)
    {
    if (
    strtolower($email) == strtolower($entries[$i]))
    $found = "yes";
    elseif (
    $entries[$i] != "")
    $allpeople .= "".$entries[$i].",";
    }
    if (
    $found == "yes")
    {
    $fp = fopen($listfile, 'w');
    fwrite($fp,$allpeople);
    fclose($fp);
    }
    echo
    "<script type=\"text/javascript\">
    alert('Arrivederci.');
    </script>"
    exit;

    }
    else
    echo
    "<script type=\"text/javascript\">
    alert('Errore.');
    </script>"
    exit;
    ?>
    Apprezzi l'aiuto? Offrimi un caffè!

  8. #8
    Ospite Guest

    Predefinito

    Sì.
    Occhio però, che hai lasciato un punto è virgola per ben tre volte :)

    Codice:
    echo "<script type=\"text/javascript\">
    alert('Arrivederci.');
    </script>"; 
    Inoltre metti:
    Codice PHP:
    echo "<script type=\"text/javascript\">
    alert('Errore.');
    </script>"
    ;
    anche al posto di:

    Codice PHP:
    header ("Location: ".$error."");
    Ciao!

  9. #9
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Sisi avevo notato...grazie a tutti! Funziona tutto per il meglio.
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

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