TECNato – TIC's Perú

Enviar URL con PHP a traves de un formulario.

miércoles, 27 de marzo del 2013 5 comentarios

En esta oportunidad les voy a enseñar una manera de recoger y enviar la URL a través de un formulario.

euadufcp-post

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 para TECNato

5 comentarios

  • Fernando
    20 de septiembre del 2013

    saluidos

  • Crear Página Web | WebArt.es
    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!!

  • Juan Castro Lurita
    23 de febrero del 2016

    Que bueno :)

  • ROCIO HERRERA OBESO
    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 .

  • YouTubers
    24 de junio del 2018

    gracias por compartir este ejemplo soy youtubers, saludos

Deja tu comentario

(Iniciar sesión)

TECNato

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).

Hazte miembro

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.

Soporte

Diseño Web:
Grupo Sistemas
CMS:
WordPress