[Guida]Come creare un modulo contattaci per il tuo sito in php e javascript

 

In questa breve guida vi spiegheremo come creare un modulo “contattaci” per il vostro sito, in modo che tutti i visitatori vi possono contattare senza sapere il vostro indirizzo email. Per fare ciò utilizziamo i linguaggi  php e javascript.

Per prima cosa creiamo una pagina php che possiamo chiamare come vogliamo e tra i tag <head> inseriamo questo  javascript:

<script language="javascript" type="text/javascript">

 <!–

  function Modulo() {

 

        if ((document.modulo.nome.value == "")) {

           alert("Il campo Nome è obbligatorio");

           document.modulo.nome.focus();

           return false;

        }

 

        else if ((document.modulo.email.value == "")) {

          alert("Il campo Email è obbligatorio");

          document.modulo.email.focus();

          return false;

        }

 

        else if ((document.modulo.messaggio.value == "")) {

           alert("Il campo Messaggio è obbligatorio");

           document.modulo.messaggio.focus();

           return false;

        }

 

        else {

           document.modulo.action = "mailto.php";

           document.modulo.submit();

        }

  }

 //–>

</script>

 

La prima parte dello javascript è:

if ((document.modulo.nome.value == "")) {

           alert("Il campo Nome è obbligatorio");

           document.modulo.nome.focus();

           return false;

 

che dice che il campo nome  è obbligatorio.

 

La seconda parte è:

else if ((document.modulo.email.value == "")) {

          alert("Il campo Email è obbligatorio");

          document.modulo.email.focus();

          return false;

        }

 

Questo campo dice che l’email è obbligatoria e cosi via le altre parti.

ATTENZIONE: vi consigliamo per limitare spam e scherzi di rendere tutto obbligatorio come nello script postato.

 

Una volta inserito lo javascript nella pagina php inseriamo il resto che come vediamo va nei tag <body>(lo abbiamo gia inserito):

 

<body bgcolor="#FFFFFF" text="#000000">

<br>

<div align="center">

<form method="post" name="modulo" action="mailto.php">

<table border="0" bgcolor="#EEEEEE" cellspacing="2" cellpadding="2">

  <tr>

    <td>Nome:</td>

 

    <td><input type="text" size="36" name="nome" maxlength="30"></td>

  </tr>

  <tr>

    <td>Email:</td>

    <td><input type="text" size="36" name="email" maxlength="30"></td>

  </tr>

  <tr>

    <td>Messaggio:</td>

    <td><textarea rows="7" cols="30" name="messaggio"></textarea></td>

  </tr>

  <tr>

  <td>&nbsp;</td>

  <td> <input type="button" value="Invia" onClick="Modulo()"> <input type="reset" value="Reset">

    </td>

  </tr>

</table>

 </form>

</div>

</body>

 

In questa parte penso che avete capito,voglio specificare questa riga:

<form method="post" name="modulo" action="mailto.php">

Che la pagina mailto.php deve chiamarsi come decidete di chiamare la prossima pagina php.

Un’altra cosa che volevo dirvi e che ad ogni campo c’è la funzione:

<td><input type="text" size="36" name="nome" maxlength="30"></td

Maxlenght  vuol dire il numero di caratteri che si possono utilizzare in quel campo (in questo caso sono 30).

 

Ora passiamo all’altra pagina che chiameremo per esempio mailto.php .La pagina conterrà questo codice:

<?php

 

$oggi = date("j F Y G:i");

$sito = "http://www.tuosito.xx";

$ip = "$_SERVER[REMOTE_ADDR]";

$browser = "$_SERVER[HTTP_USER_AGENT]";

$to = "tuaemail@xxx.xx";

$soggetto = "Modulo da $sito";

 

if(trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == "") {

echo "<font color=\"#FF0000\" face=\"verdana\" size=\"2\"><strong>Tutti i campi sono obbligatori</strong></font>";

 

} else {

 

$body = "Modulo inviato il $oggi da $ip – $browser \n\n";

$body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \nMessaggio: $_POST[messaggio]";

 

mail("$to","$soggetto","$body");

?>

<html>

<head>

<title>Mail inviata</title>

</head>

<body bgcolor="#ffffff">

<div align="center">

<font size="2" face="verdana"><strong>Modulo inviato con successo! Grazie.</strong></font>

<br><br>

</div>

</body>

</html>

<?php

}

?>

 

 

In questa pagina vi voglio specificare solo alcuni campi:

$oggi = date("j F Y G:i");

$sito = "http://www.tuosito.xx";

$ip = "$_SERVER[REMOTE_ADDR]";

$browser = "$_SERVER[HTTP_USER_AGENT]";

$to = "tuaemail@xxx.xx";

$soggetto = "Modulo da $sito";

 

$oggi è il formato della data

$sito è l’URL del vostro sito

$ip lasciatelo stare che è  per sapere l’ip dell’utente(per sicurezza)

$browser lasciatelo anche stare

$to è il vostro indirizzo email

$soggetto è l’oggetto con cui riceverete l’email

 

ATTENZIONE: la funzione usata è php mail() perciò non funziona con hotmail (che lo blocca)  e le email potranno arrivare anche 10 minuti dopo l’invio.

 

Abbiamo finito già tutto. Per concludere vi posto il file zip contenente i 2 file.

 

DOWNLOAD

1110 giorni fa da in Programmazione , Webmaster e Risorse | Puoi seguire gli aggiornamenti di questo post iscrivendoti al feed RSS. Oppure puoi commentare o fare un trackback sul tuo sito.
5 Commenti su [Guida]Come creare un modulo contattaci per il tuo sito in php e javascript
  1. Pingback: [Guida]Come creare un modulo contattaci per il tuo sito in php e …

  2. avatar
    • Anonimo
    • un po un casino …ma dopo che copio i codici perche nn funziona? non dovro specificare dove mandare queste email???

  3. avatar
    • Andrea
    • mi viene fuori sulla console degli errori che nn è definito document.modulo.. come mai??

    • avatar
      • Andrea
      • ho capito dove sbagliavo… nn avevo copiato la riga del form ;)
        cmq ho un altro problema.. quando faccio invia e mi si visualizza l'altra pagna, però con scritto tutto QUESTO:

        Tutti i campi sono obbligatori"; } else { $body = "Modulo inviato il $oggi da $ip – $browser

        "; $body .= "Nome: $_POST[nome]
        Email: $_POST[email]
        Messaggio: $_POST[messaggio]"; mail("$to","$soggetto","$body"); ?>
        Modulo inviato con successo! Grazie.

        nn capisco come mai.. grazie per le risposte ;)

Rispondi

* Richiesto