• - -

{Guida} Creare un form di contatto per il proprio sito web

DeletedUser18076

Ospite
Salve a tutti, con questa guida vi spiego come creare un form per essere contattati da inserire nel proprio sito web.


  1. Entrate nel vostro spazio web (Bisogna creare 3 file, di cui uno HTML e due PHP)
  2. Assicurarsi che il proprio hosting supporti il PHP (Vi consiglio di utilizzare Altervista)

Il form è molto semplice e contiene solo le basi per poter essere contattati: (mail, oggetto, messaggio).

Bene, cominciamo!

Create un primo file chiamato: config.php
e incollate al suo interno questo codice:

PHP:
<?php
// Qui bisogna inserire la proprio mail (Dove si vogliono ricevere le mail)
$email="vostramail@vostrodominio.it"; 
?>
Ovviamente vostramail@vostrodominio.it va sostituito con la vostra mail.


Adesso create un altro file, chiamato: mail.php
e incollate al suo interno questo codice:

PHP:
<?php
include ("config.php"); 
if($_POST['sub']!="" && $_POST['text']!="" && $_POST['memail']!="")
{
    $sub = $_POST['sub'];
    $text = $_POST['text'];
    $memail = $_POST['memail'];
    mail($email, $sub, $text ,"From: $memail \nReply-To: $memail"); 
    mail($memail, $sub, $thxemial,"From: $email \nReply-To: $email"); 
    echo("Grazie per aver utilizzato il nostro servizio di supporto, sarai ricontattato a breve.");
}
else header("Location: send.htm");
?>
Adesso create l'ultimo file, chiamato: contattaci.htm
e incollare al suo interno questo codice:

HTML:
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Contattaci</title>
</head>

<body>

<form method="POST" name="mail" action="mail.php">
    <p><font face="Verdana" style="font-size: 8pt">Il tuo indirizzo E-Mail </font></p>
    <p><input type="text" name="memail" size="20"></p>
    <p><font face="Verdana"><span style="font-size: 8pt">Oggetto</span></font></p>
    <p><input type="text" name="sub" size="20"></p>
    <p><font face="Verdana" style="font-size: 8pt">Messaggio</font></p>
    <p><textarea rows="2" name="text" cols="20"></textarea></p>
    <p><input type="submit" value="Invia Adesso!" name="Submit"><form action=ìì>
    <inputtype="text">
    <input type="reset" value="Reset">
</form> 
</form>

</body>

</html>
Per inserire il codice reCaptcha (Anti-bot):

Andate su: https://www.google.com/recaptcha
Registrate il vostro sito
e modificate il codice così:

mail.php deve diventare così:

PHP:
<?php
include ("config.php"); 
if($_POST['sub']!="" && $_POST['text']!="" && $_POST['memail']!="")
{
    $sub = $_POST['sub'];
    $text = $_POST['text'];
    $memail = $_POST['memail'];
  require_once('recaptchalib.php');
  $privatekey = "tua_private_kay";
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

  if (!$resp->is_valid) {
    // What happens when the CAPTCHA was entered incorrectly
    die ("Il codice reCAPTCHA inserito non è corretto, torna indietro e riprova!" .
         "(reCAPTCHA said: " . $resp->error . ")");
  } else {
    // Your code here to handle a successful verification
  }
    mail($email, $sub, $text ,"From: $memail \nReply-To: $memail"); 
    mail($memail, $sub, $thxemial,"From: $email \nReply-To: $email"); 
    echo("Grazie per aver utilizzato il nostro servizio di supporto, sarai ricontattato a breve.");
}
else
?>
Limite caratteri raggiunto - Multiposting obbligatorio.
Continua nel prossimo post.
 
Ultima modifica di un moderatore:

DeletedUser18076

Ospite
$privatekey = "tua_private_kay"; va sostituito con la private key che vi fornisce google dopo la registeazione del sito.



Il file contattaci.htm diventa un file php e quindi rinominatelo in contattaci.php
ed incollate al suo interno:

PHP:
<html>
   
   <head>
   <meta http-equiv="Content-Language" content="en-us">
   <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
   <title>Contattaci</title>
   </head>
   
   <body>
   
   <form method="POST" name="mail" action="mail.php"> 
       <p><font face="Verdana" style="font-size: 8pt">Il tuo indirizzo E-Mail </font></p>
       <p><input type="text" name="memail" size="20"></p>
       <p><font face="Verdana"><span style="font-size: 8pt">Oggetto</span></font></p>
       <p><input type="text" name="sub" size="20"></p>
       <p><font face="Verdana" style="font-size: 8pt">Messaggio</font></p>
       <p><textarea rows="2" name="text" cols="20"></textarea></p>
       <p>       
         <?php
             require_once('recaptchalib.php');
             $publickey = "la_tua_pubblic_key"; // you got this from the signup page
             echo recaptcha_get_html($publickey);
           ?><input type="submit" />
   
       <input type="reset" value="Reset">
   
   
           
         </form>
   
   
   </body>
   
   </html>
$publickey = "la_tua_pubblic_key"; va sostituito con la pubblic key che vi da google alla registrazione del sito.

Risultato finale: Immagine


Adesso è sufficiente mandare gli utenti sulla pagina http://.../contattaci.php per poter essere contattati.


Ovviamente è tutto personalizzabile, messaggio di conferma presente nel codice php, titolo della pagina, ecc..
Se avete domande fatele pure in questo thread!

Bye e alla prossima!
 
Ultima modifica di un moderatore:

DeletedUser

Ospite
a me esce questo errore:
Codice:
Fatal error: require_once() [function.require]: Failed opening required 'recaptchalib.php' (include_path='.:') in /membri/davidepierrosite/contattaci.php on line 20
 

DeletedUser18076

Ospite
Significa che non hai eseguito tutte le istruzioni riportate nella guida.
Per un risultato perfetto devi elaborare tutto come ho spiegato sopra.
 
In cima