![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
26/05/2010, 20:15
|
| | Fecha de Ingreso: agosto-2004
Mensajes: 58
Antigüedad: 20 años, 6 meses Puntos: 0 | |
Error en envio de formulario Tengo un formulario de contacto el cual relativamente funciona, envia el email, pero no refirecciona a la pagina que requiero que vaya cuando se envie el formulario, en vez de eso me sale el siguiente error: Cita: Warning: Cannot modify header information - headers already sent by (output started at /home/gpmarket/public_html/modificaciones/contacto.php:1) in /home/gpmarket/public_html/modificaciones/contacto.php on line 59
Este es el codigo del formulario: Código PHP:
<?php
if (isset($_POST['submit'])) {
// Chequeamos si el Referer viene de nuestro sitio
$valid_hosts = array('www.dominio.com', 'dominio.com');
$temp_referer = explode('/', $_SERVER['HTTP_REFERER']);
if (!in_array($temp_referer[2], $valid_hosts)) {
exit('Formulario uso exclusivo de Dominio');
}
/* Setear todas las variables */
foreach ($_POST as $key=>$value) {
// Chequamos algunas keys para prevenir spam/injections
if (eregi('MIME-Version:', $value) || eregi('Content-Type', $value) || eregi('boundary=', $value) || eregi('<script', $value) || eregi("CC:",$value)) {
exit('Error: Prohibido SPAM');
}
$$key = $value;
}
/* Validacion*/
// Chequear campos obligatorios
$required_fields = array('nombre', 'email', 'comentario');
foreach ($required_fields as $required_field) {
if (!isset($$required_field) || $$required_field == '') {
exit('Los Campos Nombre, E-mail y Comentario son obligatorios');
}
}
// Validar email
if (!preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/", $email)) {
exit('El formato del E-mail ingresado no es correcto');
}
/* Fin Validacion */
// Mensaje
$message =<<<EOD
FORMULARIO DE CONTACTO
Nombre: {$nombre} Email: {$email} Telefono: {$telefono} Direccion: {$direccion} Cumpleaños: {$cumpleaños} Comentarios: {$comentario} EOD;
$to = '[email protected]';
$subject = 'Formulario de contacto';
$headers = 'From: [email protected]' ."\r\n";
mail($to,$subject,$message,$headers);
header('location: inicio.html'); // ESTA LINEA REDIRIJE CUANDO SE ENVIA EL FORMULARIO BIEN Y AQUI ES DONDE MARCA EL ERROR
} else {
exit('No se puede acceder a este archivo directamente');
}
?> |