• User Newbie

    [Risolto] Form php per invio dati ad e-mail

    Ciao a tutti. sono nuovo.

    Mi sono iscritto perché sto impazzendo!!:x
    Mi potreste dare un aiuto vi prego.
    Avrei bisogno di un piccolo form in php che contiene solo 2 campi + submit ovviamente. Sono: "nome" e "cognome" + tasto "invia"
    Il tutto dovrà essere inviato nella mia casella email.
    Mi sembra di aver capito che ci vuole un database. Io comunque ho già quello di altervista. Va bene?


  • User Attivo

    nessun DB, dal form fai chiamare la pagina che invia l'email

    esempio:

    [php]
    <form action="invio.php">
    Nome:<input type="text" name="nome"><br>
    Cognome:<input type="text" name="cognome"><br>
    <input type="submit" value=" Invio ">
    </form>
    [/php][php]
    <?php
    $mail = "[email protected]";
    $oggetto = "email";
    $testo = "nome: ".$_GET['nome']."
    Cognome: ".$_GET['cognome'];

    mail($mail,$oggetto,$testo);
    ?>
    [/php]

    è fatto alla veloce, ma più o meno è così!


  • User Newbie

    Grazie, ma sapresti anche dirmi come mandare i dati su un db?


  • User Attivo

    //Connessione
    mysql_connect($host,$user,$pass);

    //INSERIMENTO
    mysql_query("INSERT INTO nome_db.nome_tabella SET nome='".$nome.",' cognome= '".$cognome."');


  • User Newbie

    Scusa l'ignoranza. è da poco che mi approccio con il php..
    Ma questo codice:
    @Digital Daigor said:

    //Connessione
    mysql_connect($host,$user,$pass);

    //INSERIMENTO
    mysql_query("INSERT INTO nome_db.nome_tabella SET nome='".$nome.",' cognome= '".$cognome."');

    Va inserito in che pagina? Nella stessa del form oppure in un' altra a parte?
    Proprio non ne capisco nulla.:bho:


  • ModSenior

    Modulo.html
    [php]
    <form action="invio.php">
    Nome:<input type="text" name="nome"><br>
    Cognome:<input type="text" name="cognome"><br>
    <input type="submit" value=" Invio ">
    </form>
    [/php]

    invio.php
    [php]
    <?php
    mysql_connect($host,$user,$pass);
    $mail = "[email protected]";
    $oggetto = "email";
    $testo = "nome: ".$_GET['nome']."
    Cognome: ".$_GET['cognome'];
    mysql_query("INSERT INTO nome_db.nome_tabella SET nome='".$nome.",' cognome= '".$cognome."');
    mail($mail,$oggetto,$testo);
    ?>
    [/php]


  • User Attivo

    @Thedarkita said:

    Modulo.html
    [php]
    <form action="invio.php">
    Nome:<input type="text" name="nome"><br>
    Cognome:<input type="text" name="cognome"><br>
    <input type="submit" value=" Invio ">
    </form>
    [/php]invio.php
    [php]
    <?php
    mysql_connect($host,$user,$pass);
    $mail = "[email protected]";
    $oggetto = "email";
    $testo = "nome: ".$_GET['nome']."
    Cognome: ".$_GET['cognome'];
    mysql_query("INSERT INTO nome_db.nome_tabella SET nome='".$nome.",' cognome= '".$cognome."');
    mail($mail,$oggetto,$testo);
    ?>
    [/php]

    ottimo!!!


  • User Attivo

    E la selezione del database non la fate? Senza quella dà errore 😉

    :gthi:


  • User Newbie

    Vi ringrazio veramente.:)
    Ora ci proverò.. Gia una volta mi sono arreso.. non sarà cosi questa volta.


  • User Newbie

    @Jeeves said:

    E la selezione del database non la fate? Senza quella dà errore 😉
    :gthi:

    Ecco appunto. Ho creato più o meno una tabella su mysql di altervista. Una volta creata questa tabella, mi è uscito un codice .php. ecco! questo codice dove devo inserirlo? il codice è questo:
    [php]
    CREATE TABLE fede (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT ,
    nome VARCHAR( 50 ) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL ,
    cognome VARCHAR( 50 ) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL ,
    INDEX ( id ) ) ENGINE = MYISAM ;

    [/php]Un' altra cosa, è giusto come codice?


  • User Attivo

    No, questo è il codice per creare la tabella, non per inserire i dati 😉

    Il modulo html fallo così:

    [html]<form method="post" action="invio.php">
    Nome:<input type="text" name="nome"><br>
    Cognome:<input type="text" name="cognome"><br>
    <input type="submit" value=" Invio ">
    </form>[/html]

    e la pagina php falla così:

    [php]<?php
    $dbhost = "localhost"; // Hosta database (localhost su altervista)
    $dbuser = "tuo nick di altervista"; // Username database (tuo nick su altervista)
    $dbpass = ""; // facoltativa su altervista
    $dbname = "my_".$db_user; // Nome database (my_nick su altervista)

    $db = mysql_connect($dbhost, $dbuser, $dbpass); // Connessione al database
    mysql_select_db($dbname, $db); // Selezione database

    mysql_query("INSERT INTO fede (nome,cognome) VALUES("".$_POST['nome']."","".$_POST['cognome']."")"); // Inserimento dati

    mysql_close($db); // Disconnessione dal database
    ?>[/php]

    :gthi:


  • User Newbie

    Salve, il vostro aiuto riguardo questo topic mi è stato molto utile, purtroppo sono incappato in un problema tecnico.

    Ho provato il codice su una pagina di prova e sono riuscito a farlo funzionare, ma purtroppo sulla pagina che interessa a me non funziona. Non ricevo alcun errore ma la mail non arriva.

    E' possibile che ciò sia dovuto all'host del sito (tiscali), che tra l'altro in passato mi ha già dato altri problemi legati ad un cms?


  • User

    Ciao!
    Sono nuova, sia del forum che del php :giggle:, potresti dirmi quanti file php hai creato? Nel senso uno per il codice da form action a </form> che si chiama in un modo ed uno per il codice php che sarà un altro? 😮 perchè vedo che nel tag form è indicata la pagina invio.php...
    L'unica cosa da sostituire è il mio indirizzo email?

    Grazie mille!!


  • ModSenior

    Ciao lisamary,

    Si sono 2 pagine, devi sostituire esclusivamente l'indirizzo email.


  • User

    Se lo mettessi nel sito del negozio di una mia amica non chiedendo dati personali ma semplicemente commenti o richieste insieme al loro indirizzo email, sai dirmi se ci sono "leggi" in materia di privacy per questo, non penso vero...? Grazie ancora:)


  • ModSenior

    Ciao lisamary,

    Per quanto riguarda la parte legale puoi chiedere qui.


  • User Newbie

    Ciao a tutti sono nuovissima, questo codice è utilissimo unica piccola cosa che mi manca è:
    nel caso in cui vada a buon fine l'invio c'è un codice che dia come risposta una pagina html??
    Sapreste darmi tal codice?
    Andrebbe messo sempre nella parte php giusto??


  • ModSenior

    Ciao PetiteEtoile,

    puoi mettere il codice html direttamente alla fine se la pagina di elaborazione è separata dal form.


  • User Newbie

    Grazie dark, guarda il problema è questo, il server del mio sito non ammette l'utilizzo del php quindi devo appoggiare la pagina php su altervista,
    quindi mi servirebbe sia il codice per il reindirizzamento ad un altra pagina dopo l'invio e soprattutto mi dà errore il codice

    <?php
    $mail = "[email protected]";
    $oggetto = "Richiesta PostePay";

    $testo = "Nome: ".$_GET['nome']."
    Cognome: ".$_GET['cognome']"
    Indirizzo: ".$_GET['indirizzo']"
    Cap: ".$_GET['cap']"
    Comune: ".$_GET['comune']"
    Provincia: ".$_GET['provincia']"
    Data Di Nascita: ".$_GET['ddn']"
    Provincia Di Nascita: ".$_GET['provdn']"
    Cellulare: ".$_GET['cellulare']"
    Email: ".$_GET['email']"
    Codice Fiscale: ".$_GET['CF']";

    mail($mail,$oggetto,$testo);
    ?> aiutino del perchè mi dà errore?

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /membri/globalgarden/mail.php on line 7


  • ModSenior

    [php]
    <?php
    $mail = "[email protected]";
    $oggetto = "Richiesta PostePay";

    $testo = "Nome: ".$_GET['nome']."
    Cognome: ".$_GET['cognome']."
    Indirizzo: ".$_GET['indirizzo']."
    Cap: ".$_GET['cap']."
    Comune: ".$_GET['comune']."
    Provincia: ".$_GET['provincia']."
    Data Di Nascita: ".$_GET['ddn']."
    Provincia Di Nascita: ".$_GET['provdn']."
    Cellulare: ".$_GET['cellulare']."
    Email: ".$_GET['email']."
    Codice Fiscale: ".$_GET['CF'];

    mail($mail,$oggetto,$testo);
    ?>
    [/php]