Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Contact FORM: inserisci nome - e-mail... come si fa?



    Salve, guardate il sito che ho creato, in HTML e CSS:

    http://www.repticula.net/ophelia.art

    e' meraviglioso... non credete?


    Pero' adesso sto cercando di fare un form nella pagina "contact",
    cioe' due campi di testo dove gli utenti dovranno inserire
    il loro Nome e il loro indirizzo E-mail :

    http://www.repticula.net/ophelia.art/contact.html

    quindi il sito comincia ad essere dinamico anche se soltanto un poco.


    sto provando... a fare funzionare questo FORM,
    ma non riesco a far si che le paarole che inseriscono gli utenti nei campi,
    poi mi arrivino davvero per e-mail...
    e' un po' complicato,
    avreste qualche tutorial o esempio da mostrami?


    e poi vorrei anche inserire in questo sito una casella "Search",
    cioe' per permetterere agli utenti di cercare parole specifiche nel sito..

    qualche esempio anche per questo?


    grazie davvero, a presto,
    Bambee.




  2. #2
    Ciao,
    non ho potuto vedere il sito perché sono in ufficio ma lo farò stasera da casa.

    Per il tuo problema hai bisogno prima di tutto di un form fatto più o meno così:

    codice:
    <form method="post" action="sendmail.php">
       <div class="testo_contatti">nome:</div>
       <div class="div_casella"><input type="text" class="textform" maxlength="100" name="nome"></div>
       <div class="testo_contatti">indirizzo e-mail:</div>
       <div class="div_casella"><input type="text" class="textform" maxlength="200" name="e_mail"></div>
       <div class="testo_contatti">messaggio:</div>
       <div class="div_casella"><textarea class="c_textarea" name="testo"></textarea></div>
       <div class="div_pulsante"><input type="submit" class="pulsante" name="inviadati" value="invia"></div>
    </form>
    che invia, via post, nome, indirizzo e messaggio ad un programmino php di nome sendmail.php (nel seguito).

    Questo esempio è preso da un mio sito reale quindi ha una sua formattazione ma tu chiaramente puoi modificarla come ti pare.

    I campi inviati hanno un "name" che permetterà al programma di distinguerli, quindi se ne aggiungi altri cura che abbiano nomi diversi.

    E poi ti serve il programma che riceve i dati inviati dal form e li inserisce in una mail che ti verrà spedita.

    Crea un file di nome sendmail.php e mettici dentro questo codice (ah, già, sto dando per scontato che tu sia su un server linux/apache, se invece sei su windows ti servirà un programmino analogo in asp ma per quello devi chiedere nella sezione apposita del forum):

    codice:
    <?php
    
       $nome    = htmlspecialchars($_POST['nome']);
       $e_mail  = htmlspecialchars($_POST['e_mail']);
       $testo   = htmlspecialchars($_POST['testo']);
    
       $destinatari   = "aaa@bbb.it <aaa@bbb.it>";
    
       $intestazioni  = "From: info@repticula.net <info@repticula.net>\r\n";
       $intestazioni .= "Reply-To: info@repticula.net <info@repticula.net>\r\n";
    
       $oggetto = "Richiesta di informazioni";
    
       $messaggio = "Nome: " . $nome . "\r\nE-mail: " . $e_mail . "\r\nMessaggio: " . $testo;
    
       if (!mail($destinatari, $oggetto, $messaggio, $intestazioni)) {
          header("Location: errore_spedizione.htm");
       } else {
          header("Location: conferma_spedizione.htm");
       };
    
    ?>
    Ti spiego cosa fa in modo che tu possa modificarlo se vuoi.

    Le prime tre righe ricevono i dati del form e li caricano in tre variabili.

    htmlspecialchars serve per evitare che attraverso la mail ti inviino del codice maligno.
    Usala sempre, anche per eventuali altri campi che aggiungerai al form.
    In realtà non è una protezione molto forte ma visto che si tratta solo di una mail che arriva a te può bastare. Se un domani vorrai fare cose più delicate come caricare dati in un database o elaborare in qualche modo i dati ricevuti o inviare mail ad altre persone questa protezione potrebbe non bastare più.

    Dove ho scritto aaa@bbb.it devi mettere la tua mail.

    Dove ho scritto info@repticula.net devi mettere una mail del sito, sicuramente ne hai una, in genere si chiama info oppure postmaster oppure webmaster. Se non la metti è facile che il messaggio venga considerato spam e cestinato dal tuo provider di posta.

    L'oggetto è quello che comparirà nella mail che ti arriverà.

    L'istruzione che segue costruisce una stringa concatenando i dati ricevuti in input e dei ritorni a capo.
    Il punto serve a concatenare, il \r\n serve ad andare a capo.

    Questo vuol dire che nel messaggio che ti arriverà ci sarà, nell'ordine
    La stringa "Nome: "
    Il nome indicato nel form
    un ritorno a capo seguito dalla stringa "E-mail: "
    eccetera

    Se aggiungerai altri campi al form dovrai anche inserirli in questa stringa.

    Infine la if spedisce la mail e si chiede se tutto è andato bene o se c'è stato qualche errore e visualizza due pagine html che dovrai fare (errore_spedizione.htm e conferma_spedizione.htm) che dicano all'utente qualcosa come "grazie per averci inviato la mail" oppure "Invio non riuscito, ci spiace".

    E infine metti queste due nuove pagine e il file sendmail.php nella root del tuo sito.

    Non dovrebbe essere necessario nient'altro.

    Per la search invece la cosa è più complessa, prova a chiedere al forum php.

    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Grazie davvero,
    ora provo a lavorare sull'esempio di codice che mi hai fornito,
    ti faccio sapere com'e venuto fuori quando e' pronto.

    e se ho delle domande ritorno....


    a presto

  4. #4
    ho visto che hai messo le Classi :

    <div class= "etc..."

    le hai messe per il codice delle css vero?
    ad ogni classe un settaggio diverso suppongo.

    mi faresti vedere un esempio di codice dei fogli di stile?
    cosi' magari lo adotto e lo modifico...

    al php non ho ancora messo mano... ma non mi spaventa. per ora.

    quello che mi ha spaventato oggi e' stata la validazione html - xhtml,
    ha trovato 59 errori ad una mia pagina... horribile!



    p.s. sono su server linux - no problem.

  5. #5
    Ciao,
    adesso non li ho sottomano quei css ma il tuo sito è molto curato nella grafica quindi chissa quanti css usi già, prendi quelli come esempio, così non devi reinvertarti i colori, i font e tutto il resto.
    I miei ti sarebbero davvero poco utili.
    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  6. #6
    ok, infatti per le css, alla fine non e' un problema...
    ho assegnato a tutti i div una stessa classe.

    ed ora il mio sito e' ottimizzato, ho corretto gli errori ed
    ha passato il test xhtml.

    tornando al discorso php form:

    "E infine metti queste due nuove pagine e il file sendmail.php nella root del tuo sito"

    per "root directory" del mio sito,

    per caso intendi la stessa cartella dove ho messo il mio file index?

  7. #7
    Sì, intendo proprio quella.
    Se però vuoi metterle in un'altra cartella basta aggiungere il path alla action e alle location.
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  8. #8
    il sito sarà ancora più meraviglioso con un po' menzo di spazio nero in fondo alla pagina.
    5800 px di height... non sono un po' troppi ?
    stefano

  9. #9
    Grazie per le info sulla cartella noncelafaccio+.

    Stefano,
    ci sono delle pagine sul mio sito che hanno un testo lunghissimo... ad esempio questa:

    http://www.repticula.net/ophelia.art/pixelations.html

    ed anche sulle altre pagine intendo mettere piu' inforazioni - immagini, video e quant'altro... quindi ho pensato che invece di fare piu fogli css, mi tengo un file solo, e lascio tutto quello spazio per dopo...
    so che con alcune pagine potrebbe essere piu' corto quello spazio, ma
    meglio che lo lascio cosi'... ci sono altre soluzioni?

  10. #10
    beh, certamente si,
    la soluzione è non mettere alcun height, (infatti non si mette mai), sicchè la pagina sarà lunga quanto l'elemento più lungo (corpo centrale o i menu a dx e sx).

    in questo modo non devi preoccuparti di nulla.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.