Hice un formulario hace poco empezando apenas con php. Quedó muy bien y funciona correctamente. Ocurre que me recomendaron filtrar las variables para evitar inyecciones. No me gustaría dejarlo para más adelante porque sino quedará en el olvido y luego podría ser tarde.
El código es este:
Código PHP:
<?php
$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$dni = $_POST['dni'];
$mail = $_POST['mail'];
$telefono = $_POST['telefono'];
$direccion = $_POST['direccion'];
$ip = $_SERVER['REMOTE_ADDR'];
if( isset( $_POST['condiciones'] ) ) {
// El cliente aceptó las condiciones
} else {
// El cliente no aceptó las condiciones
}
$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Este mensaje fue enviado por " . $nombre . ", con apellidos " . $apellidos . " \r\n";
$mensaje .= "Condiciones: " . $_POST['condiciones'] . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Dni: " . $_POST['dni'] . " \r\n";
$mensaje .= "Teléfono: " . $_POST['telefono'] . " \r\n";
$mensaje .= "Dirección: " . $_POST['direccion'] . " \r\n";
$mensaje .= "Su ip: " . $ip . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$para = '[email protected]';
$asunto = 'Cliente nuevo';
mail($para, $asunto, utf8_decode($mensaje), $header);
header('Location: http://www.web.es');
?>
Saludos.