Visualizzazione risultati 1 fino 20 di 20

Discussione: script news con dati registrazione anche in posta

  1. #1
    Guest

    Predefinito script news con dati registrazione anche in posta

    Raga,ciao a tutti è da un po' che mi sto occupando di interpretare e imparare il php.
    Fino ad ora me la sono cavata abbastanza bene,ma piu' vado avanti e piu' sono esigente su alcune cose,ad esempio,in uno script che ho installato per news,c'è una pagina di registrazione che si chiama appunto register.php,ora il mio problema sarebbe questo: Inserendo i dati nel form register.php questi vengono processati e cosi si crea un nuovo utente,vorrei pero' poter aver questi dati anche in posta elettronica,ho provato un sacco di combinazioni,ma nulla funge.vi posto la pagina:
    // 1 = Administrator

    $register_level = "3";

    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    END - END - END - END - END -- Do Not Edit Below
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    error_reporting (E_ALL ^E_NOTICE);
    require_once("./inc/functions.inc.php");
    require_once("./data/config.php");
    require_once("./skins/${config_skin}.skin.php");
    //$PHP_SELF = "journalist.php";

    if($action != "doregister"){
    echoheader("user", "Registrazione sezione Amici di Maurizio T");

    echo<<<HTML
    <table leftmargin=0 marginheight=0 marginwidth=0 topmargin=0 border=0 height=100%

    cellspacing=0>
    <form name=login action="$PHP_SELF" method=post>
    <tr>
    <td width=80>Username: </td>
    <td><input tabindex=1 type=text name=regusername style="width:134" size="20"></td>
    </tr>
    <tr>
    <td width=80>Nickname: </td>
    <td><input tabindex=1 type=text name=regnickname style="width:134" size="20"></td>
    </tr>
    <tr>
    <td width=80>Password: </td>
    <td><input tabindex=1 type=text name=regpassword style="width:134" size="20"></td>
    </tr>
    <tr>
    <td width=80>Email: </td>
    <td><input tabindex=1 type=text name=regemail style="width:134" size="20"></td>
    </tr>
    <tr>
    <td></td>
    <td ><input accesskey="s" type=submit style="background-color: #F3F3F3;"

    value='Register'></td>
    </tr>
    <tr>
    <td align=center colspan=2>$result</td>
    </tr>
    <input type=hidden name=action value=doregister>
    </form>
    </table>
    HTML;

    echofooter();
    }else{
    if(!$regusername){ msg("error","Error !!!", "Username can not be blank"); }
    if(!$regpassword){ msg("error","Error !!!", "Password can not be blank"); }
    if(!$regemail) { msg("error","Error !!!", "Email can not be blank"); }
    if(!preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/",

    $regemail)){ msg("error","Error !!!", "Not valid Email."); }

    $regusername = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"),

    array("", "", "", "", ""), $regusername);
    $regnickname = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"),

    array("", "", "", "", ""), $regnickname);
    $regemail = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"),

    array("", "", "", "", ""), $regemail);
    $regpassword = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"),

    array("", "", "", "", ""), $regpassword);

    $all_users = file("./data/users.db.php");
    foreach($all_users as $user_line)
    {
    $user_arr = explode("|", $user_line);
    if($user_arr[2] == $regusername){ msg("error", "Error", "This username is already

    taken"); }
    }

    $add_time = time()+($config_date_adjust*60);
    $regpassword = md5($regpassword);

    $old_users_file = file("./data/users.db.php");
    $new_users_file = fopen("./data/users.db.php", "a");
    fwrite($new_users_file,

    "$add_time|$register_level|$regusername|$regpasswo r d|$regnickname|$regemail|0|0||||\n");
    fclose($new_users_file);

    msg("user", "Commenter Added", "Sei stato aggiunto nel mio database,ora puoi postare

    il tuo annuncio con foto.<br>Fai il log in <a href=index.php>here</a>");

    }

    ?>



    in piu' mi piacerebbe aggiungere qualche campo che pero' mi arrivi solo in posta tipo telefono ecc....
    Grazissime a tutti.

  2. #2
    Guest

    Predefinito

    C'è nessuno?

  3. #3
    Guest

    Predefinito

    Basta che tu aggiunga la funzione mail() contenente i dati inseriti e l'indirizzo a cui vuoi venga inviata la mail

  4. #4
    Guest

    Predefinito

    dove i dati vengono elaborati aggiungi
    Codice PHP:
    //varie info per email
    $oggi = date("j F Y G:i");
    $sito = "http://tuosito.altervista.org"; //metti l'url del tuo sito
    $ip = "$_SERVER[REMOTE_ADDR]";
    $browser = "$_SERVER[HTTP_USER_AGENT]";
    $to = "tuamail"; //metti la tua mail
    $soggetto = "Modulo da $sito";
    $from = $_POST['email'];

    $body = "Modulo inviato il $oggi da $ip - $browser \n\n";
    $body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \nUrl: $_POST[url] \nDescrizione: $_POST[descrizione]";

    mail("$to","$soggetto","$body","From: $from");
    se vuoi puoi aggiungere dei controlli sui campi
    Ultima modifica di jostock : 22-08-2005 alle ore 16.44.58

  5. #5
    Guest

    Predefinito

    Sotto quale riga di php in quella pagina devo aggiungere il tuo codice?
    Grazie ovviamente per la risposta precedente.
    Se vuoi posto la pagina register.php completa
    Per aggiungere campi e magari verificare la compilazione o meno?
    Ultima modifica di djperfeste : 22-08-2005 alle ore 17.17.30

  6. #6
    Guest

    Predefinito

    anche alla fine dove vuoi cmq devi modificare i nomi dei campi da elaborare

  7. #7
    Guest

    Predefinito

    Ok l'ho fatto ma non funge,ecco papale papale il codice modificato cioe' register.php,la mail è arrivata ma vuota cioè cosi :
    Nome:
    Email:
    Url:
    Descrizione:

    ecco il codice

    <?PHP
    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Configuration
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

    // With what level to be registered member.
    // 4 = Commenter
    // 3 = Journalist
    // 2 = Editor
    // 1 = Administrator

    $register_level = "4";

    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    END - END - END - END - END -- Do Not Edit Below
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    error_reporting (E_ALL ^E_NOTICE);
    require_once("./inc/functions.inc.php");
    require_once("./data/config.php");
    require_once("./skins/${config_skin}.skin.php");
    //$PHP_SELF = "journalist.php";

    if($action != "doregister"){
    echoheader("user", "Commenter Registration");

    echo<<<HTML
    <table leftmargin=0 marginheight=0 marginwidth=0 topmargin=0 border=0 height=100% cellspacing=0>
    <form name=login action="$PHP_SELF" method=post>
    <tr>
    <td width=80>Username: </td>
    <td><input tabindex=1 type=text name=regusername style="width:134" size="20"></td>
    </tr>
    <tr>
    <td width=80>Nickname: </td>
    <td><input tabindex=1 type=text name=regnickname style="width:134" size="20"></td>
    </tr>
    <tr>
    <td width=80>Password: </td>
    <td><input tabindex=1 type=text name=regpassword style="width:134" size="20"></td>
    </tr>
    <tr>
    <td width=80>Email: </td>
    <td><input tabindex=1 type=text name=regemail style="width:134" size="20"></td>
    </tr>
    <tr>
    <td></td>
    <td ><input accesskey="s" type=submit style="background-color: #F3F3F3;" value='Register'></td>
    </tr>
    <tr>
    <td align=center colspan=2>$result</td>
    </tr>
    <input type=hidden name=action value=doregister>
    </form>
    </table>
    HTML;

    echofooter();
    }else{
    if(!$regusername){ msg("error","Error !!!", "Username can not be blank"); }
    if(!$regpassword){ msg("error","Error !!!", "Password can not be blank"); }
    if(!$regemail) { msg("error","Error !!!", "Email can not be blank"); }
    if(!preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $regemail)){ msg("error","Error !!!", "Not valid Email."); }

    $regusername = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"), array("", "", "", "", ""), $regusername);
    $regnickname = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"), array("", "", "", "", ""), $regnickname);
    $regemail = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"), array("", "", "", "", ""), $regemail);
    $regpassword = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"), array("", "", "", "", ""), $regpassword);

    $all_users = file("./data/users.db.php");
    foreach($all_users as $user_line)
    {
    $user_arr = explode("|", $user_line);
    if($user_arr[2] == $regusername){ msg("error", "Error", "This username is already taken"); }
    }

    $add_time = time()+($config_date_adjust*60);
    $regpassword = md5($regpassword);

    $old_users_file = file("./data/users.db.php");
    $new_users_file = fopen("./data/users.db.php", "a");
    fwrite($new_users_file, "$add_time|$register_level|$regusername|$regpasswo rd|$regnickname|$regemail|0|0||||\n");
    fclose($new_users_file);

    msg("user", "Commenter Added", "You was successfully added to users database.<br>You can now login <a href=index.php>here</a>");

    }
    //varie info per email
    $oggi = date("j F Y G:i");
    $sito = "http://djperfeste.altervista.org"; //metti l'url del tuo sito
    $ip = "$_SERVER[REMOTE_ADDR]";
    $browser = "$_SERVER[HTTP_USER_AGENT]";
    $to = "miamail@server.it"; //metti la tua mail
    $soggetto = "Modulo da $sito";
    $from = $_POST['email'];

    $body = "Modulo inviato il $oggi da $ip - $browser \n\n";
    $body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \nUrl: $_POST[url] \nDescrizione: $_POST[descrizione]";

    mail("$to","$soggetto","$body","From: $from");




    ?>
    Ultima modifica di djperfeste : 22-08-2005 alle ore 17.30.48

  8. #8
    Guest

    Predefinito

    hai impostato bene i nomi dei campi?? tipo nome email
    devi cambiare $_POST[nome] nel nome del tuo campo

    e poi hai acmbiato l'email??

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da jostock
    hai impostato bene i nomi dei campi?? tipo nome email
    devi cambiare $_POST[nome] nel nome del tuo campo

    e poi hai acmbiato l'email??

    $body = "Modulo inviato il $oggi da $ip - $browser \n\n";
    $body .= "Nome: $_POST[nome] \nEmail: $_POST[regemail] \nUrl: $_POST[url] \nDescrizione: $_POST[descrizione]";

    mail("$to","$soggetto","$body","From: $from");


    al posto di email adesso ad esempio ho messo regemail,che che il nome della variabile sopra ma la mail mi arriva sempre cosi:
    Nome:
    Email:
    Url:
    Descrizione

    Ho provato anche a mettere POST[$regemail] con il dollaro ma non funge
    Ultima modifica di djperfeste : 22-08-2005 alle ore 17.46.23

  10. #10
    Guest

    Predefinito

    metti al posto di regemail $_POST[regmail]

  11. #11
    Guest

    Predefinito

    metteno regmail invece di regemail ma niente ,mi arriva sempre una mail cosi :
    Nome:
    Email:
    Url:
    Descrizione:

    //varie info per email
    $oggi = date("j F Y G:i");
    $sito = "http://djperfeste.altervista.org";

    //metti l'url del tuo sito
    $ip = "$_SERVER[REMOTE_ADDR]";
    $browser = "$_SERVER[HTTP_USER_AGENT]";
    $to = "miamail"; //metti la tua

    mail
    $soggetto = "Modulo da $sito";
    $from = $_POST['regmail'];

    $body = "Modulo inviato il $oggi da $ip -

    $browser \n\n";
    $body .= "Nome: $_POST[regusername] \nEmail:

    $_POST[regmail] \nUrl: $_POST[url]

    \nDescrizione: $_POST[regnickname]";

    mail("$to","$soggetto","$body","From: $from");




    ?>

    nulla,
    Ultima modifica di djperfeste : 22-08-2005 alle ore 18.00.19

  12. #12
    Guest

    Predefinito

    strano a me ha sempre funzionato

  13. #13
    Guest

    Predefinito

    grazie comunque per l'aiuto ,mi spremero il cervello finchè non trovero' la soluzione
    Comunque sto incasinando tutto,se c'è qualcuno che ha la soluzione gliene sarei grato.
    Ultima modifica di djperfeste : 22-08-2005 alle ore 18.11.18

  14. #14
    Guest

    Predefinito

    Codice PHP:
    //varie info per email
    $oggi = date("j F Y G:i");
    $sito = "http://djperfeste.altervista.org";

    //metti l'url del tuo sito
    $ip = "$_SERVER[REMOTE_ADDR]";
    $browser = "$_SERVER[HTTP_USER_AGENT]";
    $to = "miamail"; //metti la tua

    mail
    $soggetto
    = "Modulo da $sito";
    $from = $_POST['regmail'];

    $body = "Modulo inviato il $oggi da $ip -

    $browser \n\n";
    $body .= "Nome: ".$_POST[regusername]." \nEmail: ".$_POST[regmail]." \nUrl: ".$_POST[url]."\nDescrizione: ".$_POST[regnickname]."";

    mail("$to","$soggetto","$body","From: $from");

    ?>
    Così dovrebbe funzionare, prova

  15. #15
    Guest

    Predefinito

    Grazie ancora,ma ecco l'errore che mi da

    Parse error: parse error, unexpected T_VARIABLE in /membri2/djperfeste/register.php on line 100

    ho inserito quello che hai postato

  16. #16
    Guest

    Predefinito

    Controlla la riga 99... potrebbe mancare un ; o magari non hai chiuso delle virgolette...

    Se non è così... posta la 99 e la 100 così vediamo cosa dicono... ^__^

  17. #17
    Guest

    Predefinito

    Codice PHP:
    //varie info per email
    $oggi = date("j F Y G:i");
    $sito = "http://djperfeste.altervista.org";

    //metti l'url del tuo sito
    $ip = "$_SERVER[REMOTE_ADDR]";
    $browser = "$_SERVER[HTTP_USER_AGENT]";
    $to = "miamail"; //metti la tua mail

    $soggetto = "Modulo da $sito";
    $from = $_POST['regmail'];

    $body = "Modulo inviato il $oggi da $ip -

    $browser \n\n";
    $body .= "Nome: ".$_POST[regusername]." \nEmail: ".$_POST[regmail]." \nUrl: ".$_POST[url]."\nDescrizione: ".$_POST[regnickname]."";

    mail("$to","$soggetto","$body","From: $from");

    ?>
    Ho trovato l'errore, così non dovrebbe dartene più, fammi sapere

  18. #18
    Guest

    Predefinito

    Ecco la risposta che mi arriva e cioe' nulla ,ufff ma dove si sbaglia?


    Modulo inviato il 23 August 2005 12:14 da ///.////./// -

    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

    Nome:
    Email:
    Url:
    Descrizione:




    Posso postare il codice completo se puo' essere utile a risolvermi sta rogna.
    Ultima modifica di djperfeste : 23-08-2005 alle ore 12.16.47

  19. #19
    Guest

    Predefinito

    ecco cosa mia da quando vado nella pagina register.php facendo le tue modifiche


    Parse error: parse error, unexpected T_VARIABLE in /membri2/djperfeste/register.php on line 102

  20. #20
    Guest

    Predefinito

    Ha saltato semplicemente una ;
    Codice PHP:
    //varie info per email
    $oggi = date("j F Y G:i");
    $sito = "http://djperfeste.altervista.org";

    //metti l'url del tuo sito
    $ip = "$_SERVER[REMOTE_ADDR]";
    $browser = "$_SERVER[HTTP_USER_AGENT]";
    $to = "miamail"; //metti la tua mail

    $soggetto = "Modulo da $sito";
    $from = $_POST['regmail'];
    $regusername = $_POST[regusername]; //falle come questa

    $body = "Modulo inviato il $oggi da $ip -

    $browser \n\n";
    $body .= "Nome: ".$regusername." \nEmail: ".$_POST[regmail]." \nUrl: ".$_POST[url]."\nDescrizione: ".$_POST[regnickname]."";

    mail("$to","$soggetto","$body","From: $from");

Regole di scrittura

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