Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/07/2010, 04:53
Avatar de siken
siken
 
Fecha de Ingreso: octubre-2008
Mensajes: 52
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: ¿Arreglo en formulario?

Vale, solucionado, pego el código que uso, he quitado algunas cosas del header que no necesitaba y queda tal que asi:

Código:
<?php          
@putenv("TZ=Europe/Paris");
//ERROR_REPORTING(E_ALL);
//-----------------------

//*****************************************************************************
//Correo al que llegan los mails
//desde el formulario de contacto, te recomiendo que no uses un 
//correo de hotmail, porque hotmail aveces los detecta como spam.
$mail_destino='TUEMAIL'; 

//Aqui coloca el mensaje que quieres que aparesca como titulo del mail.
$titulo="Consultas web";

//********************************************
//Aqui no tienes que tocar nada
$msg="";
$email_form="";
$nombre_form="";
$mensaje_form="";


if(isset($_POST['nombre'])){
	
$email_form=$_POST['email'];
$nombre_form=$_POST['nombre'];
$mensaje_form=$_POST['mensaje'];

/*Aqui verificamos si nos estan haciendo spam */
function verificar_spam($verificar) {
	$msg="";
  $palabras_prohibidas = array(
                "content-type:"
                ,"mime-version:"
                ,"multipart/mixed"
		            ,"Content-Transfer-Encoding:"
                ,"bcc:"
		            ,"cc:"
		            ,"to:"   );
  
  foreach($palabras_prohibidas as $palabra) {
    if(eregi($palabra, strtolower($verificar))) {
      $msg.= "Se encontro una palabra prohibida <b><u>$palabra</u></b> en el nombre o Email<br />";
    }
  }
  
   if(preg_match("/(%0A|%0D|\\n+|\\r+)/i", $verificar) != 0) {
     $msg.= "El nombre o Email no pude contener saltos de linea <br />";
   }
  return $msg;
}


$msg.=verificar_spam($email_form);
$msg.=verificar_spam($nombre_form);

/*Aqui termina la la verificacion de spam */

/*Aqui verificamos los campos del formulario */

if($email_form != "")
{
	$email_form=trim($email_form);
  if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$", $email_form))
  $msg.="Tu E-mail es invalido <br />";
}else
 $msg.="Tu e-mail es obligatorio <br />";

if($nombre_form != ""){
	$nombre_form=trim($nombre_form);
	if(!preg_match("/^[\w\s_]+$/",$nombre_form))
	$msg.="El nombre no es valido <br />";
}else
$msg.="Tu nombre es obligatorio <br />";

if($mensaje_form == "")	$msg.="El mensaje es obligatorio <br />";


if($msg == ""){
$headers .= "De: ".$nombre_form."\n";
$headers .= "Enviado a: ".$mail_destino."\n";
$headers .= "Responder a: ".$email_form."\n";
$headers .= "Return-Path: ".$email_form."\n";
$contenido="".$nombre_form." Envio una consulta desde Tapitoldosgonzalez.es \r\n";

$contenido.="Nombre: ".$nombre_form."\r\n";
$contenido.="Email: ".$email_form."\r\n";
$contenido.="Mensaje: ".$mensaje_form."\r\n";
 
 if(mail($mail_destino, $titulo, $headers, $contenido))
 {
 header("location:".$_SERVER['PHP_SELF']."?ok=ok");
 
 }
 else
 $msg.="Ocurrio un error al enviar el mensaje";
 
}

}
if(isset($_GET['ok'])) $msg="El mensaje se ha enviado correctamente";
	
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Formulario Contacto </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.texto{color:#42606C;font-weight:bold;font-family: Geneva, Arial, Helvetica, sans-serif;}
body td,form {font-family:verdana;font-size:11px;color:#535353;}
form input,textarea{margin-bottom:4px;font-size:11px;background-color:#F0F0F0;border:1px solid #C0C0C0;}
.boton {color:#FFFFFF;height:20px;width:55px;border:1px solid #698B9A;background-color:#8BA6B1;font-size:11px;font-weight:bold;}
</style>	
</head>
<body>
<table cellspacing='2' cellpadding='2'>
	<tr>
		<td>
			
			<span style='font-size:11px;font-weight:bold;color:#F20000;'><?php echo $msg; ?></span>
			
		</td>
	</tr>
	<tr>
	 <td>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method='post'>
<span class='texto'>* Nombre:</span><br />
<input type='text' name='nombre' size='28' value="<?php echo $nombre_form;?>"/><br />
<span class='texto'>* Tu email:</span><br />
<input type='text' name='email' size='28' value="<?php echo $email_form;?>" /><br />
<span class='texto'>* Mensaje:</span><br />
<textarea name='mensaje' rows='10' cols='20'><?php echo $mensaje_form;?></textarea><br />
<input type='submit' value='Enviar' class='boton' />
</form>
</td>
</tr>
</table>
</body>
</html>
El problema esque cuando recibo un email no pone de quien viene, pone:

[email protected]

Como puedo solucionarlo?