En esta oportunidad les voy a enseñar una manera de recoger y enviar la URL a través de un formulario.
Voy a utilizar el array $_SERVER y dentro colocare el HTTP_REFERER que emplea el agente de usuario para la pagina actual.
en mi PHP que recibe y envia el formulario quedaria asi:
Código PHP :
$sUrl= $_POST['url'] = $_SERVER['HTTP_REFERER'];
Quizás pueda servir para encontrar rápidamente la pagina desde donde se envió el formulario.
A mi me ayudo cuando manejaba una tienda en linea la cual tenia mas de 400 productos en linea y por este método, los ubicaba al instante, bueno ustedes le pueden dar el uso que deseen.
NOTA: Utilice la versión de Google Crohme 18, el cual soporta la validación nativa de HTML5 , que es con la cual valida el formulario.
Bueno vamos al tutorial.
Primero creo la pagina para mi formulario de contacto, la cual llamo index.php :
Código HTML :
Luego creo mi archivo PHP que procesa y envía la información, lo voy a llamar enviar.php :
Código PHP :
// En esta sección se declaran las variables $sPlace = $_POST['place']; $sEmail = $_POST['email']; $sClientemail = $_POST['clientemail']; $sAsunto = $_POST['asunto']; $sMensaje = $_POST['mensaje']; $sNombre = $_POST['nombre']; $sUrl= $_POST['url'] = $_SERVER['HTTP_REFERER']; //Aca se ponen los datos del remitente $myname = $sNombre; $myemail = $sEmail; //Aca se cambia la dirección de correo del destinatario $contactemail1 = $sEmail.'@'.$sClientemail; $sTitulo = "Datos recibidos de ".$myname." "; $sDetalles = "Asunto : ".$sAsunto." "."E-mail : ".$sEmail."@".$sClientemail." "."URL: ".$sUrl." "; $message = $sTitulo.$sDetalles; $subject = $sAsunto; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= "From: ".$myname." <".$myemail.">\r\n"; $headers .= "To: ".$contactname1." <".$contactemail1.">\r\n"; mail($contactname1, $subject, $message, $headers);
Al final del mismo archivo enviar.php que procesa el envio, coloco un javascript para redireccionar a la pagina ok.php que confirma que ha sido enviado:
location.href = "ok.php";
Puede ver en el código PHP que estoy recogiendo la URL y la meto en la variable $sUrl, para luego enviarla y mostrarla en el correo:
$sTitulo = "Datos recibidos de ".$myname.""; $sDetalles = "Asunto : ".$sAsunto." "."E-mail : ".$sEmail."@".$sClientemail." "."URL: ".$sUrl."";
Ahora creo unas pocas lineas de código CSS para mi estilizar mi formulario, creo un archivo llamado estilos.css :
input:invalid { border: 1px solid red; } /* Estilo por defecto */ input:required:invalid { border: 1px solid red; } input:required:valid { border: 1px solid green; } .botonform { font-family: Arial, Helvetica, sans-serif; color: #FFF; background-color: #333; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; cursor: pointer; } .rojita { color: #F00; }
Por ultimo creo una pagina que muestra el mensaje de «Enviado ! » , que se va mostrar una ves que mi formulario haya sido enviado sin problemas, lo guardo con el nombre: ok.php :
Enviado !
Listo eso es todo !
Ustedes me dirán porque, puse los inputs de el correo en dos partes, lo que paso es que mi jefe lo quería así, según el obligaba a que el usuario escriba su correo, trate de convencerlo pero era bien terco, bueno lo deje así y nunca decidí cambiarlo, pero ustedes lo pueden hacer, les dejo a su criterio, al menos ya esta la idea.
Les dejo una DEMO para que puedan ver un ejemplo en funcionamiento (Ingresa tu correo para que te llegue la URL y puedas ver el ejemplo adecuadamente):
http://jrcl.net76.net/dm/recoger_url_con_php/
Espero les haya gustado !
Escrito por Juan Castro Lurita para TECNato
Engineer especialista en Web development, también especializado en multimedia, gráfica e impresiones, Blender 3D, Autocad 3D, etc. Actualmente vivo en Lima - Perú. Amo la informática y la Web. Twitter: @pepoflex
TECNato nace de la idea de crear una comunidad tecnológica, un espacio virtual para compartir conocimientos sobre TIC’s (Tecnologías de la Información y Comunicación).
TECNato es libre y abierto a nuevos miembros que estén dispuestos a compartir sus conocimientos en TIC’s, así que no dudes en escribirnos para mas detalles.
Diseño Web:
Grupo Sistemas
CMS:
WordPress
5 comentarios
20 de septiembre del 2013
saluidos
23 de febrero del 2016
Gracias por tu Trabajo Juan ;)
Me ha funcionado 100% correctamente.
Es justo lo que me ha pedido un cliente: recoger y enviar la URL desde la que se envía el formulario. Realmente, es muy útil cuando hay diferentes formularios en una página web y queremos saber desde cuál de ellos nos lo envía.
Un saludo desde Barcelona!!
23 de febrero del 2016
Que bueno :)
23 de mayo del 2018
buenos dias solicito a ustedes me envien a mi correo el formulario para diligenciarlo para autorizacion de presupuesto por proyecto comunitario en educasion para los municipios del atlantico y colaboracion con utiles escolares para los niños de escaso recurso economico que hasta la fecha de mayo 23 2018 no tienen ni con que comprar un uniforme ni sus utiles escolares actualmente soy maneject de la entidad gestionandote y asistente de proyectos comunitarios el presupuesto seria aotorizado por el banco el BID en el cual recibimos aportes de los paises aliados gracias atentamente ROCIO HERRERA OBESO C.C 32787294 DE BARRANQUILLA TOTAL AUTORIZADO PUEDE SER $150.000.000 LE AGRADESCO SU PRONTA COLABORACION .
24 de junio del 2018
gracias por compartir este ejemplo soy youtubers, saludos