$supers = array('HTTP_POST_VARS', 'HTTP_GET_VARS', 'HTTP_COOKIE_VARS', 'GLOBALS', 'HTTP_SESSION_VARS', 'HTTP_SERVER_VARS', 'HTTP_ENV_VARS' ); $_GET['nombre']=$nombre; $_GET['edad']=$edad; foreach( $supers as $__s) { if ( (isset($$__s) == true) && (is_array( $$__s ) == true) ) extract( $$__s, EXTR_OVERWRITE ); } unset($supers); } } /* ------------------------------------------------------------------ */ /* DE AQUI EN ADELANTE PUEDES EDITAR EL ARCHIVO */ /* ------------------------------------------------------------------ */ /* define cual va a ser la hoja que se abrirá en caso de error*/ $login_page = "error.html"; /* reclama que estén rellenos los campos obligatorios del formulario */ if($email=="") {include($login_page); exit(); } if($nombre=="") {include($login_page); exit(); } if($poblacion=="") {include($login_page); exit(); } if($texto=="") {include($login_page); exit(); } /* ------------------------------------------------------------------ */ /* aquí se especifica la pagina de respuesta en caso de envío exitoso */ $respuesta="correcto.html";
/* AQUÍ ESPECIFICAS EL CORREO AL CUAL SE ENVÍAN LOS DATOS */ $para ="[correo eliminado] ";
/* AQUI ESPECIFICAS EL SUJETO DEL EMAIL */ $sujeto = "Formulario de informacion";
/* aquí se construye el encabezado del correo*/ $encabezado = "From: $nombre <$email>"; $encabezado .= "\nReply-To: $email"; $encabezado .= "\nX-Mailer: PHP/" . phpversion();
/* con esto se captura la IP del que envío el mensaje */ $ip=$REMOTE_ADDR;
/* aqui se intenta enviar el correo, si no se tiene éxito se da un mensaje de error */ if(!mail($para, $sujeto, $mensaje, $encabezado)) { echo "<h1>No se pudo enviar el Mensaje</h1>"; exit(); } else { /* aqui redireccionamos a la pagina de respuesta */ echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>"; }
?>
Cambia el email, pon el tuyo
Ahora te creas dos páginas una que se llame error.html que dará el mensaje de error si no están cubiertos los campos obligatorios, y otra que se llame correcto.html que se abrirá si se ha mandado el mensaje correctamente.
Cuelgaló en el servidor para ver como funciona, si no lo cuelgas no lo podrás hacer funcionar con vista prévia, porque no te lo permite el archivo php. Para cualquier duda, me lo dices.
Ve eliminando los apartados que no quieras que aparezcan en el formulario hasta que tengas los que quieres.
Aquí tienes otro (del manual que yo hice). Ya he puesto los campos que quieres. Necesitas una hoja html y otra php. En la html pones el formulario siguiente:
Con esto ya funciona al subirlo al servidor. Al rellenar la html te manda a la php mandando el correo, y hemos puesto tambien el formulario en la php por si quiere rellenar otro. Saludos, Juanma
Asegúrate de que pusiste bien el correo, de que la página php la guardaste como formulario.php (si no cambiaste el código) y que esté con la extensión php y que tengas activado lo de php en tu servidor. También puede ser que tarde un ratillo (5 minutos) en llegar el mensaje, depende del servidor. Saludos, Juanma
Que raro, si a mi si me funciona con el código tal como te lo dije. A ver si pusiste tu correo o algo mal, o el servidor no soporta php (en tu ordenador no funciona :lol: ).