riprendendo il saibal form posto qui il codice che ho fra le mani.

questo è il file html:

Codice PHP:
     <form name="invio" method="post" action="invio.php">

        

Email
          <
input type="text" name="email" size="30">
          

        </
p>
        

Nome e Cognome
          <
input type="text" name="nome_e_cognome" size="30"

        </
p>
        

 
Messaggio:

          <
textarea name="messaggio" cols="60" rows="10"></textarea>
          

          
        

 </
p>
          <
input type="submit" value="Invia" name="cccio">
        </
p>
      </
form

mentre questo è il file php:

Codice PHP:
 <?php

//email del destinatario del modulo
$destinatario "info@balbalbal.it";

//nome mittente per la corretta intestazione del modulo
$nome_mittente "$nome_e_cognome";

//email mittente per per la corretta intestazione del modulo
$email_mittente "$email";

//oggetto dell'email
$oggetto_email "$tipo";

//se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y". valori possibili: "y" e "n"
$all_free "n";

//se invece avete messo "n" inserire tra virgolette, separati da virgola, i nomi dei campi da rendere OBBLIGATORI
//Esempio: $campi_req = array("telefono","via");
$campi_req = array("nome_e_cognome","messaggio");

//controllo del campo email? valori possibili: "y" e "n"
$obbligo_email "y";

//obbligare l'utente ad accettare le condizioni? valori possibili: "y" e "n"
//$accetta_condizioni = "y";

//url della pagina di ringraziamento
$pagina_grazie "grazie.htm";

//url della pagina errore campi vuoti
$pagina_error_empty "campi_vuoti.htm";

//url della pagina errore email
$pagina_error_email "errore_email.htm";

//url della pagina errore condizioni non accettate
//$pagina_error_condizioni = "http://www.sito.it/errore_condizioni.htm";

//url della pagina errore invio non autorizzato (mancanza di referer)
$pagina_error_referer "errore_email.htm";

//orario e data
$ora date ("H:i:s"); 
$data date ("d/m/Y");

//intestazione dell'email (arriva al destinatario)
$corpo "
Modulo inviato il 
$data alle ore $ora\n
Riepilogo dati:\n
 ____________________________________________________________\n"
;

//======================= NON TOCCARE NULLA... SE NON VUOI INCASINARE QUALCOSA =======================\


########### CODICE VARIO ###########

//variabili per rendere lo script compatibile anche con PHP 4.2 - copyright di Chris
if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER$HTTP_SERVER_VARS))){  
$_POST = &$HTTP_POST_VARS
}

//prendo il numero IP
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
    
    if (
$_SERVER["HTTP_X_FORWARDED_FOR"] == "") {

$ipnumb getenv("REMOTE_ADDR");

        }else {

$ipnumb getenv("HTTP_X_FORWARDED_FOR");

            }

        } else {

$ipnumb getenv("REMOTE_ADDR");
        }
###################################


//breve controllo
if(empty($_SERVER["HTTP_REFERER"])){

    
header ("Location: $pagina_error_referer");
    exit();
    
    }


########### CONTROLLO DEI CAMPI ###########
$control_campi 0;

if(
$all_free != "y"){

    foreach(
$_POST as $key => $valore){

        if(
in_array($key,$campi_req)){

            if(
trim($valore) == ""){

            
$control_campi++;
            
                                    } 

                                }

                            }

                        } else {

            
$control_campi 0;    

                                }                    

########### CONTROLLO EMAIL ###########
$control_email 0;

if(
$obbligo_email == "y"){

    if(isset(
$_POST['email'])){

        
//espressione regolare a cura dell'esimio dott. php - [url]http://www.myphp.it[/url]
        
if(!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$"$_POST['email'])){

        
$control_email++;

                            }

                        } else {

        
$control_email 0;

                            }

                        }

########### CONTROLLO CONDIZIONI ###########
$control_condizioni 0;

if(
$accetta_condizioni == "y"){

    if(isset(
$_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){

        
$control_condizioni 0;

            } else {

        
$control_condizioni ++;

            }

        }

########### VAI CON L'INVIO DELL'EMAIL ###########
if($control_campi == 0){

        if(
$control_email == 0){

            if(
$control_condizioni == 0){

foreach(
$_POST as $key => $valore){

$key ucfirst(stripslashes(trim($key)));
$valore stripslashes(trim($valore));
$key str_replace("_"," ",$key);

            if(
trim($valore) == ""$valore "Non compilato";
            
                
$corpo .= $key .": "$valore ."\n\n";

            }
            
                
$corpo .= "Numero IP: $ipnumb"."\n\n";

$corpo .= "
 ____________________________________________________________ \n\n

"
;

    
//inizio l'invio dell'email
mail("$destinatario","$oggetto_email","$corpo""From: $nome_mittente <$email_mittente>");

                
header ("Location: $pagina_grazie");

                                } else {

                
header ("Location: $pagina_error_condizioni");

                            }

                        } else {

                
header ("Location: $pagina_error_email");

                        }

                    } else {

                    
                
header ("Location: $pagina_error_empty");

                    }

?>