Foros del Web » Programando para Internet » PHP »

Como capturar una url

Estas en el tema de Como capturar una url en el foro de PHP en Foros del Web. Cómo puedo capturar la dirección de una página desde la cual rellenando un formulario puedo recomendar eesa página a un amigo?...
  #1 (permalink)  
Antiguo 02/02/2005, 10:03
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
cómo capturar una url para "enviar a un amigo"

Cómo puedo capturar la dirección de una página desde la cual rellenando un formulario puedo recomendar eesa página a un amigo?
  #2 (permalink)  
Antiguo 02/02/2005, 10:07
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
depende, necesitas una en específico o en general?

Están las FAQs de PHP lo que estás buscando, en Recomendar a un amigo.
  #3 (permalink)  
Antiguo 02/02/2005, 10:22
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
Yo lo que busco es algo mas concreto...

Si una persona esta en la sección "a", al enviar el email aparece el vínculo a "a" si se está en la sección "p" aparece en el email un vínculo a "p"...

Hay alguna manera de coger la dirección de la página desde la que se envía el email?

Hasta ahora tengo esto:

<?php
$sub="Asunto";
$link1=getenv(HTTP_HOST);
$link2=${PHP_SELF};
$link="http://$link1$link2";
?>

Pero así no me coge los paginados de php:
http://dominio/copiaimpresionante/im...php?paginado=8

Última edición por wesse; 02/02/2005 a las 10:29
  #4 (permalink)  
Antiguo 02/02/2005, 11:04
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Inténtalo con HTTP_REFERER en vez de HTTP_HOST, es mucho mejor, pero inténtalo desde otra página.

Esto que hiciste tu, hazlo en una página que se llame recomienda.php, y en la cual tenga lo que te dije, y además lo que quieras hacer para que se mande ese mail, el resultado será que cualquiera que le de click a recomienda.php, mandará la información que tengas desde la página pasada que te enlazó a recomienda.php.
  #5 (permalink)  
Antiguo 03/02/2005, 08:24
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
Después de estarme hasta las 23.00 y pico me funcionó con http_referer, quitando previamente php_self (que no se que sera...) y http_host

el único problema que te ngo ahora es que los mensajes enviados a hotmail, éste los considera como correo no deseado... además a alguna otra empresa de email ni siquiera les llega. En Lycos sin problema.

Pq ocurre esto con hotmail?
  #6 (permalink)  
Antiguo 03/02/2005, 09:19
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Normalmente, es el contenido que los bloquea, cuando se tratan de mensajes tendenciosos bloquea de inmediato.

Además no soporta que programas externos no hagan el mandar correos. Si te fijas en la cabecera Mailer, aparece PHP. y por eso no se mandan a la bandeja de entrada de hotmail.
  #7 (permalink)  
Antiguo 03/02/2005, 10:18
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
y no hay manera de arreglar eso? :S
  #8 (permalink)  
Antiguo 06/03/2005, 13:24
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
Como capturar una url

En una pagina .php cómo puedo capturar la url ( del tipo http://www.dominio.com/carpeta/pagin...=ampli/pie.jpg) para después utilizarla en un formulario que está en la misma pagina .php?

A ver si hay solución, que llevo ya unos dias....
  #9 (permalink)  
Antiguo 06/03/2005, 17:31
Avatar de hunab  
Fecha de Ingreso: febrero-2005
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 19 años, 2 meses
Puntos: 1
$_SERVER['REQUEST_URI'] te devolvera la url
__________________
Marcio Barrios
marciobarrios.com // artículos sobre estándares y desarrollo web
  #10 (permalink)  
Antiguo 08/03/2005, 13:44
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
Me sale http:///carpeta/recomienda.php?accion=enviar
en lugar de lo que puse en el otro mensaje...

Hace un mes o así estuve probando con
$link1=getenv(HTTP_HOST);
$link2=${PHP_SELF};
$url="http://$link1$link2";
o algo parecido... el caso es que se me borró y ahora no consigo que funcione... cosa que antes si hacia...
  #11 (permalink)  
Antiguo 09/03/2005, 11:05
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
me cargué todo y ya no lo volvi a recuperar... llevo dias intentandolo pero no puedo hacer que funcione nuevamente. Hay otro sistema?
  #12 (permalink)  
Antiguo 09/03/2005, 12:24
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
¿Hay alguna otra manera de hacerlo?
  #13 (permalink)  
Antiguo 09/03/2005, 13:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
wesse .. no repitas tus preguntas si son del mismo tema (de hecho mencionas al "otro" mensaje .. pero sin un "link" para ver .. recuerda que no todo el mundo puede hacerte el "seguimiento" a tus mensajes y conservar el hilo del tema ..)

Un saludo,
  #14 (permalink)  
Antiguo 10/03/2005, 08:27
Avatar de wesse  
Fecha de Ingreso: junio-2003
Ubicación: España
Mensajes: 577
Antigüedad: 20 años, 10 meses
Puntos: 1
Bueno es que en este mensaje estaba charlando con hunab y con lado2mx sobre las soluciones que ellos me dieron, por eso abri otro para que otros me diesen otras soluciones distintas...

Llevo ya varios dias intentando hacer que funcione, pero no lo consigo. El caso es que no es imposible pq si hay webs que usan esto para recomendar una pagina a un amigo...
  #15 (permalink)  
Antiguo 11/03/2005, 07:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
para que otros me diesen otras soluciones distintas...
Pero .. como se te va a dar suluciones "distintas" sin que otras personas puedan ver lo que ya te han sugerido? .. Por eso uní ambos temas. Si ves que no obtienes respuesta o no es la que esperas o .. requieres de más opiniones .. insiste, pero en tu mensaje inicial.

Por lo demas ..

Cita:
Hace un mes o así estuve probando con
$link1=getenv(HTTP_HOST);
$link2=${PHP_SELF};
$url="http://$link1$link2";
Ahí en principio tienes un enorrrrrrrmeeee cacao con el acceso a variables "globales" .. por un lado haces uso de getenv? .. o por otro un psduo "variables-variables" (${PHP_SELF})

Te recomiendo que leas:
http://www.php.net/manual/en/languag...s.external.php
http://www.php.net/manual/en/languag...predefined.php

ahí veras por ejemplo el "QUERY_STRING" .. "HTTP_HOST" y algunas variables más que las debes acceder por el arrays superglobal: $_SERVER .. con eso te sobra para componer tu "recomendar a un amigo".

Pero ... más simple:

Código PHP:
<form action="recomendar_a_un_amigo.php" method="post">
<input type="hidden" name="url" value="<? echo $_SERVER['PHP_SELF'?>">
Email: <input type="text" name="email">
<input type="submit" name="enviar" value=" Enviar ">
</form>
recomendar_a_un_amigo.php
Código PHP:
<?
if (isset($_POST['url']) && isset($_POST['enviar'])){

// compones el URL completo .. con el HOST (htt://www.tal.tal + lo que devuelve PHP_SELF que es la ruta y nombre del script PHP que se está ejecutando y ya lo tomastes en tu formulario que es donde incluyes ese código del formulario ..

$url_recomendado=$_SERVER['HTTP_HOST']."/".$_POST['url'];

// generas tu e-mail .. y lo envias ...
mail (.....);
}
Salvo algunos detallitos (sobre todo de seguridad .. el URL a "recomendar" debería propagarse en una variable de sesión .. no en un campo hidden .. eso no es seguro) .. así es la técnica .. En el script que se está ejecutando .. caputras el URL que se está ejecutando; almenos el nombre y ruta de tu script. Luego tu compones el URL completo con otros datos como el "host" que siempre será el mismo lo tomes donde lo tomes (en cualquier script de tu sitio).

También puedes basarte en "la página" que llama a tu script "recomendar_a_un_amigo.php" usando: $_SERVER['HTTP_REFERER'] .. aunque este método no es fiable al 100% .. funciona también .. ahí tienes el URL completo sin más problema que están "recomendando" ..

Por lo demás .. te recomendaría usar google .. hay muuuuuuuuuuuuuuuchos ejemplos similares. Busca por "recomendar a un amigo" php script.

Un saludo,
  #16 (permalink)  
Antiguo 11/03/2005, 12:29
Avatar de saymon  
Fecha de Ingreso: septiembre-2003
Ubicación: Panama
Mensajes: 318
Antigüedad: 20 años, 7 meses
Puntos: 0
una preguntita, ya que estamos en este tema, porque si yo pongo esto en una pagina php, para q me pinte eso, no me sale nada

echo $_SERVER['$REMOTE_ADDR'] ; //muestra el ip
echo $_SERVER['$DOCUMENT_ROOT'] // devuelve el pad fisico de la pagina

si en teotia me debe salir mi ip y el pad fisico de la pagina
  #17 (permalink)  
Antiguo 11/03/2005, 13:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno . .no te funciona por qué no es $REMOTE_ADDR .. si lo usas bajo $_SERVER .. eso es un array y los "indices" son los datos que puedes obtener de el .. es un array "predefinido" con esos valores que se "cargan" automáticamente cuando cargas un script php.

echo $_SERVER['REMOTE_ADDR'] ; //muestra el ip
echo $_SERVER['DOCUMENT_ROOT'] //

Un saludo,
  #18 (permalink)  
Antiguo 11/03/2005, 15:43
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Una pregunta, ¿por qué no es seguro pasar la url por el campo de texto?
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #19 (permalink)  
Antiguo 11/03/2005, 15:50
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Si lo que necesitas (entre tanto "cacao" no entendi nada:P) es tener la url actual, hace:
$url = $_SERVER['PHP_SELF'].(isset($_SERVER['QUERY_STRING'])? '?'.$_SERVER['QUERY_STRING']:'');

Ahora en $url tenes el archivo. El dominio, si lo queres agregar lo sabes, o sino usa la variable del servidor que mas te sirva.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #20 (permalink)  
Antiguo 12/12/2007, 17:20
 
Fecha de Ingreso: diciembre-2007
Mensajes: 8
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Como capturar una url

Por favor, podrían poner el código completo???
Recien estoy empezando con esto de las webs...
Muchas gracias.....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:39.