Hola
Lo primero daros la gracias a todo el mundo que lea este tema. He buscado por el foro pero no consigo encontrar justo lo que quiero.
Tengo un formulario el cual lo tengo en distintas paginas, y lo que quiero es que al enviar el formulario me lleve tambien la url del navegador y lo pueda pasar a mi fichero php para saber de donde proviene el formulario.
En mi fichero html y javascritp tengo lo siguiente:
Código:
<script type="text/javascript">
function validarDatos(){
if(!document.frmContacto.Otro.value.length){
alert("Debes ingresar el nombre del Otro");
return false;
}else if(!document.frmContacto.nombre_apellido.value.length){
alert("Debes de ingresar tu nombre y apellido");
return false;
}else if(!document.frmContacto.email.value.length){
alert("Debes de introducir tu email");
return false;
}else if(!document.frmContacto.telefono.value.length){
alert("Debes de introducir el telefono");
return false;
}else if(!document.frmContacto.comentarios.value.length){
alert("Debes de introducir comentarios");
return false;
}else{
return true;
}
}//fin function validar datos
</script>
<form name="frmContacto" method="post" action="http://XXXXXXXXXX/resources/sendbymail.php" enctype="multipart/form-data" onsubmit="return validarDatos()">
<div>
<p>
<strong>Si quieres más información sobre este servicio, rellena el siguiente formulario:</strong>
</p>
<p>
<label for="Otro">Otro: </label>
<input type="text" id="Otro" name="Otro" value="" placeholder="Nombre de tu Otro">
</p>
<p>
<label for="nombre_apellido">Nombre y apellido: </label>
<input type="text" id="nombre_apellido" name="nombre_apellido" value="" placeholder="Tu nombre y apellidos">
</p>
<p>
<label for="email">Email: </label>
<input type="text" id="email" name="email" value="" placeholder="Tu email">
</p>
<p>
<label for="telefono">Telefono: </label>
<input type="text" id="telefono" name="telefono" value="" placeholder="Tu telefono">
</p>
<p>
<label for="comentarios" style="position: relative;bottom: 0px;">Comentarios: </label>
<textarea id="comentarios" name="comentarios" placeholder="Puedes escribir tus comentarios"></textarea>
</p>
<p>
<input type="submit" value="Enviar">
</p>
</div>
</form>
En mi fichero php tengo lo siguiente:
Código:
<?php
if(isset($_POST['email'])) {
// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias
$email_to = "[email protected]";
#$email_subject = "Contacto desde el sitio web";
$email_subject = "Formulario de servicios";
$email_from = "[email protected]
";
// Aquí se deberían validar los datos ingresados por el usuario
if(!isset($_POST['Otro']) ||
!isset($_POST['nombre_apellido']) ||
!isset($_POST['email']) ||
!isset($_POST['telefono']) ||
!isset($_POST['comentarios'])) {
echo "<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
echo "Por favor, vuelva atrás y verifique la información ingresada<br />";
die();
}
$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Otro: " . $_POST['Otro'] . "\n";
$email_message .= "Nombre y apellido: " . $_POST['nombre_apellido'] . "\n";
$email_message .= "E-mail: " . $_POST['email'] . "\n";
$email_message .= "Teléfono: " . $_POST['telefono'] . "\n";
$email_message .= "Comentarios: " . $_POST['comentarios'] . "\n\n";
// Ahora se envía el e-mail usando la función mail() de PHP
$headers = "From: ".$email_from."\r\n".
"Reply-To: ".$email_from."\r\n" .
"X-Mailer: PHP/"/* . phpversion()*/;
@mail($email_to, $email_subject, $email_message, $headers);
echo "Su formulario se ha enviado con exito";
sleep(1);
header('Location: XXXXXXX');
}
?>
En definitiva es saber como en el formulario guardo la url del navegador, como la envio al archivo php, y como la recupero en el php para enviarla por email.
Gracias a todos los que lean este post.