Formulario
-
Pero ahi falta codigo PHP, no? Por lo menos si estas usando el de mi ejemplo.
Poneme todo el codigo PHP que estas usando. Osea, todo el codigo de la pagina "enviar.php".
Saludos,
Nico -
Me ha parecido estupendo tu código, sin embargo lo paso a mi archivo php y por alguna causa no se deja... he así como lo he dejado:
¿alguna idea de que pueda ser?
Simplemente abro la página y me dice:
No puedes acceder a este archivo directamente.
La dirección donde la tengo es:
www.coloniaroma.com/laura2.php
¡Gracias de antemano!
if (isset($_POST['submit'])) {
// Chequeamos si el Referer viene de nuestro sitio
$valid_hosts = array('www.coloniaroma.com', 'coloniaroma.com');
$temp_referer = explode('/', $_SERVER['HTTP_REFERER']);
if (!in_array($temp_referer[2], $valid_hosts)) {
exit('No estas autorizado a usar este form.');
}
/* 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('exit('Error: posible mensaje spam.');
}
$$key = $value;
}
/* Validacion*/
// Chequear campos obligatorios
$required_fields = array('variable_con_el_nombre', 'variable_con_el_mail', 'variable_con_el_telefono');
foreach ($required_fields as $required_field) {
if (!isset($$required_field) || $$required_field == '') {
exit('Por favor, completa todos los campos obligatorios.');
}
}
// Validar email
if (!preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/", $variable_con_el_mail)) {
exit('El formato del email ingresado no es correcto.');
}
/* Fin Validacion */
// Mensaje
$message =<<FORMULARIO DE CONTACTO
Nombre: {$variable_con_el_nombre}
Email: {$variable_con_el_mail}
Telefono: {$variable_con_el_telefono}
Comentarios: {$variable_con_los_comentarios}
EOD;
$to = 'laura@coloniaroma.com';
$subject = 'Formulario de contacto';
$headers = 'From: laura@coloniaroma.com' ."\r\n";
mail($to,$subject,$message,$headers);
header('Location: contacto.html'); // Esta linea redirije a otra pagina
} else {
exit('No puedes acceder a este archivo directamente.');
}
?> -
Hola Laura,
Recien veo tu mensaje (PM).
El archivo "laura2.php" es donde apareceria el formulario?
Por que el codigo de ejemplo que puse, era para poner en un segundo archivo, no en el mismo en donde aparece el formulario.
Tendrias que poner todo el codigo PHP en otro archivo (laura3.php por ejemplo).
O si queres dejarlo en el mismo archivo, tendrias que sacarle estas lineas del final...Fijate si eso te sirve. Si no, postea tu codigo html tambien y lo vemos.Código PHP:else {
exit('No puedes acceder a este archivo directamente.');
}
Saludos,
Nico -
Mira esta web:
http://www.entra-ya.com.ar/enviar-mails-con-php/ -
Estoy hecha un lio... definitivamente mis conocimientos de html/php y java andan en pañales, pero por más vueltas que le doy, aunque elimine las lineas que me dices, no sale nada... no acabo lo de crear dos archivos... vale, en uno solo escribo el codigo php (sin nada más), y en el otro archivo, ¿que?, ¿cómo se redirecciona?... en serio, si tuviera dinero pagaba un curso básico, pero ahora ando en la vil calle :/
¡Gracias por haberme respondido Nico!, espero no sean demasiadas preguntas esta vez -
Leiste lo que te puse ?
http://www.entra-ya.com.ar/enviar-mails-con-php/ -
Hola Laura,
No te preocupes, asi se aprende. Y no te precoupes por preguntar, para eso esta el foro.
Si, el codigo que yo puse es para usar en 2 archivos distintos.
Osea, en un arhivo va la pagina con todo el html y el formulario (esta seria la pagina que muestra el formulario) y la otra seria una pagina nueva, que solo tiene el codigo PHP.
Se conectan mediante el formulario de la primera pagina. Cuando envias el formulario de la primera pagina, envia los datos a la segunda, que tiene el codigo PHP.
Tenes un link para que pueda ver tu formulario?
Sino, podes poner por aca el codigo html de tu pagina (la que muestra el formulario). Usa las etiquetas del editor para poner codigo.
Cualquier pregunta avisame.
Saludos,
Nico

2