Visualizzazione dei risultati da 1 a 2 su 2

Discussione: form di contatto

  1. #1
    Utente di HTML.it L'avatar di Tristal
    Registrato dal
    Sep 2003
    Messaggi
    630

    form di contatto

    salve a tutti, qualcuno mi saprebbe dire come mai non funziona questo form di contatto? l'unico problema è che non ricevo la mail...

    di seguito il codice del file: (ovviamente sta la mail di prova, ma se inserisco la mia non ricevo nulla... )

    codice:
    <?
    
    
    	/*PARTE DA METTERE IN TESTA ALLA PAGINA DI CONTATTO*/
    	
    	error_reporting(E_ALL ^ E_NOTICE);
    	
    	$preferenze['a']="io@io.it";
    	$preferenze['bcc']="io@io.it";
    	$preferenze['sito']="www.prova.com";
    	
    	$errore=-2;
    	
    	$variabili['Form']=$_POST;
    	if (isset($variabili['Form']['invia']))
    	{
    	
    			
    			
    			if (controlla_dummy())
    			{
    				
    				
    				$errore=controlla_form2($variabili['Form']);
    				
    				
    				//echo $errore;
    				
    				if ($errore==0)
    				{
    					
    					
    					
    					$elementi['da']=$variabili['Form']['email'];
    					$elementi['a']=$preferenze['a'];
    					$elementi['bcc']=$preferenze['bcc'];
    					$elementi['titolo']="Modulo dal sito ".$preferenze['sito'];
    					
    					
    					foreach ($variabili['Form'] as $k => $v) {
    						
    						if (($k!="obbligatori") && ($k!="invia") && ($k!="NAME"))
    						{
    							$elementi['testo'].=$k.": ".$v."\n";
    						}
    					}
    					
    					
    					
    					
    					if (invia_mail2($elementi)==1)
    					{
    					
    					 	$errore=-1;
    					}
    				
    				}
    				
    			}
    			
    			
    	}
    	
    
    	function controlla_dummy($nome="NAME")
    	{
    	
    	
    	
    	
    		if (!empty($_POST[$nome]))
    		{
    		
    		
    			
    			return false;
    			
    		}
    		else
    		{
    			return true;
    			
    		}
    		
    		
    	
    	
    	}
    
    	function controlla_form2($elementi)
    	{
    	
    		$errore=0;
    		
    		$obbligatori=$elementi['obbligatori'];
    		$obbligatori=explode(",",$obbligatori);
    		
    		
    	
    		if (count($obbligatori)==0)
    		{
    			$obbligatori=array("nome","email");
    		}
    		
    		
    		
    		$errori=array(1,2,4,8,16,32,64,128,256,512,1024,2048);
    		$cont=0;
    		
    		
    		
    		for ($i=0; $i<count($obbligatori); $i++)
    		{
    		
    			
    			$comodo=explode("|",$obbligatori[$i]);
    			
    		
    			if (count($comodo)==1)
    			{
    				if (empty($elementi[$obbligatori[$i]]))
    				{
    				
    					
    					$errore+=$errori[$i];
    				
    				}
    			
    			}
    			else
    			{
    			
    			
    				/* CONDIZIONI DI CONTROLLO 
    				
    				
    				@  : email valida
    				#+ : numero positivo
    				D> : data maggiore di oggi
    				
    				
    				*/
    				
    				
    				
    				if ($comodo[0]=="@") 
    				{
    					
    					
    					if (!validEmail($elementi[$comodo[1]]))
    					{
    					
    						$errore+=$errori[$i];
    						$cont++;
    					
    					}
    				
    				
    				}
    				
    				if ($comodo[0]=="#+") 
    				{
    				
    					if ((int)($elementi[$comodo[1]])<1)
    					{
    					
    						$errore+=$errori[$i];
    						$cont++;
    					
    					}
    				
    				
    				}
    				
    				
    				if ($comodo[0]=="D>") 
    				{
    				
    					$oggi=data(0,true);
    					
    					$comodo[1]=$elementi[$comodo[1]];
    					
    					$data=substr($comodo[1],6,4)."-".substr($comodo[1],3,2)."-".substr($comodo[1],0,2);
    					
    					
    					if ($oggi>=$data)
    					{
    					
    					
    					
    						$errore+=$errori[$i];
    						$cont++;
    					
    					}
    				
    				
    				}
    			
    			
    			
    			}
    			
    			
    		
    		}
    		
    		
    		
    		
    		
    		
    		
    		if ($elementi['c']!=$captcha)
    		{
    			$errore+=65536;
    		}
    		
    		
    	
    		
    		return $errore;
    	
    	}
    	
    	function invia_mail2($elementi)
    	{
    	
    	
    	
    		global $variabili;
    		global $preferenze;
    		
    	
    		
    		
    		$intestazione="from: ".$elementi['da']."\r\n";
    		
    		
    		if ($elementi['cc']!="")
    		{
    		
    		
    			$intestazione.="cc: ".$elementi['cc']."\r\n";
    		}
    		
    		
    		if ($elementi['bcc']!="")
    		{
    		
    		
    			$intestazione.="bcc: ".$elementi['bcc']."\r\n";
    		}
    		
    		
    		
    		$elementi['intestazione']=$intestazione;
    		
    		
    	
    		if (mail($elementi['a'],$elementi['titolo'],$elementi['testo'],$intestazione))
    		{
    			$errore=0;
    		}
    		else
    		{
    			$errore=1;
    		}
    		
    		
    		
    		return $errore;
    	}
    	
    	function validEmail($email) 
    	{
    		
    		return preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email);
    	
    	}
    
    
    
    
    ?>
    
    
    
    
    
    <? if ($errore>0) { ?>
    <p class="errore">Compilare i campi obbligatori</p>
    <? }  ?>
    
    
    
    <? if ($errore==0) { ?>
    
    
    Messaggio inviato con successo</p>
    <? } else { ?>
    
    	<? if ($errore==-1) { ?>
        
    
    Errore nell'invio del messaggio. Riprovare più tardi.</p>
        
        <? } ?>
    
    <form name="form1" method="post" action="">
      
    
    
        <label for="nome">Cognome e Nome*</label>
        <input type="text" name="nome" id="nome">
      </p>
      
    
    
        <label for="email">Email*</label>
        <input type="text" name="email" id="email">
      </p>
      
    
    
        <label for="telefono">Telefono</label>
        <input type="text" name="telefono" id="telefono">
      </p>
      
    
    
        <label for="testo">Testo</label>
        <textarea name="testo" id="testo" cols="45" rows="5"></textarea>
      </p>
      
    
    
                          <input name="trattamento" type="checkbox" id="trattamento" value="S" />
                          <span>Autorizzo il trattamento dei dati personali*</span></p>
      
      
    
    I campi contrassegnati con l'asterisco (*) sono obbligatori</p>
      
      
      
      </p>
      
      
    
    
      
      	<input type="submit" name="invia" id="invia" value="Invia" />
        <input name="obbligatori" type="hidden" id="obbligatori" value="nome,@|email,trattamento" />
        <input type="text" name="NAME" id="NAME" />
      
      </p>
    </form>
    <? } ?>
    Ogni vita merita le Ali
    Le cose non vanno mai come credi...
    Come si può impedire ad una goccia di asciugarsi? .....gettandola in mare.

  2. #2
    Lo script lo stai provando il locale o in remoto?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.