Foros del Web » Programando para Internet » PHP »

¿es posible detectar el # en una url?

Estas en el tema de ¿es posible detectar el # en una url? en el foro de PHP en Foros del Web. Hola a todos, deseo saber si alguien me puede decir si es posible y cómo averiguar si en la url fue ingresado el signo # ...
  #1 (permalink)  
Antiguo 29/07/2008, 07:54
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
¿es posible detectar el # en una url?

Hola a todos, deseo saber si alguien me puede decir si es posible y cómo averiguar si en la url fue ingresado el signo # típico que se usa como marcador de posición en una web. Ejemplo:

www.dominio.com/index.com#seccion2

He probado viendo que traen los arreglos $_GET, $_POST y $_REQUEST (que por su puesto trae a los 2 anteriories más $_COOKIE).

Sin embargo todos traen distinta información de la ulr pero en ninguno encuentro datos sobre el #. Espero haberme explicado bien. Cualquier cosa, pregunten.

Desde ya, muchas gracias.
__________________
neonomade.com
  #2 (permalink)  
Antiguo 29/07/2008, 08:03
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: ¿es posible detectar el # en una url?

para Q? quieres hacer eso¿?
  #3 (permalink)  
Antiguo 29/07/2008, 08:07
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: ¿es posible detectar el # en una url?

a ver.. la razón para hacerlo es que los contenidos se generan de forma asyncrona para cada sección, por lo que si el usuario no accede en orden no va a encontrar nada. Sé que esto puedo tratar de solucionarlo con javascript, pero por ahora, me interesa mucho más saber cómo puedo hacer lo que estoy preguntando con php. Si alguien sabe agradecería mucho que me pudiera ayudar.
__________________
neonomade.com
  #4 (permalink)  
Antiguo 29/07/2008, 08:26
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 566
Antigüedad: 18 años, 5 meses
Puntos: 24
Respuesta: ¿es posible detectar el # en una url?

con parse_url() es posible
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida
  #5 (permalink)  
Antiguo 29/07/2008, 08:27
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: ¿es posible detectar el # en una url?

Si no vuelves a generar la página no lo podras hacer con PHP. Pues el php se "ejecuta" en el servidor y no puede saber si has pulsado una marca.
Las variables $_SERVER([REQUEST_URI] o [SCRIPT_NAME] o [PHP_SELF]) te informan del script o url, pero cuando son cargadas, no cuando has pulsado una marca.

Me parece que solo tienes la solución en javascript.


pd: dira que parse_url($url) solo te separa una $url dada
__________________
Francesc Jimenez
  #6 (permalink)  
Antiguo 29/07/2008, 08:34
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: ¿es posible detectar el # en una url?

OK
pero es un poco complicado.
no puedes recojer solo el signo #
pero si puedes recojer toda la url son $_SERVER['REQUEST_URI'].
y optendras todo "www.dominio.com/index.com#seccion2"
  #7 (permalink)  
Antiguo 29/07/2008, 08:36
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: ¿es posible detectar el # en una url?

Cita:
Iniciado por desendoll Ver Mensaje
Si no vuelves a generar la página no lo podras hacer con PHP. Pues el php se "ejecuta" en el servidor y no puede saber si has pulsado una marca.
Las variables $_SERVER([REQUEST_URI] o [SCRIPT_NAME] o [PHP_SELF]) te informan del script o url, pero cuando son cargadas, no cuando has pulsado una marca.

Me parece que solo tienes la solución en javascript.


pd: dira que parse_url($url) solo te separa una $url dada
estimado.. lo que yo digo es que si se llama directamente un archivo php xon marca de ancla. De esta forma "Sí" se ejecuta el php, tons deseo saber si es posible detectar esa ancla.
__________________
neonomade.com
  #8 (permalink)  
Antiguo 29/07/2008, 08:38
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: ¿es posible detectar el # en una url?

pues si con $_SERVER['REQUEST_URI'] funciona:
Cita:
$var=explode('#',$_SERVER['REQUEST_UTI']);
$var=$var[1];
y ya está.


El valor # detrás de una url lo utilizo en ajax y por eso no me recargaba la página. no he utilizado nunca una ancla, no me ha sido nunca útil y me parece antiguo... (es solo una opinión, a lo mejor algún día lo utilizo)
__________________
Francesc Jimenez
  #9 (permalink)  
Antiguo 29/07/2008, 08:38
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 566
Antigüedad: 18 años, 5 meses
Puntos: 24
Respuesta: ¿es posible detectar el # en una url?

ya lo dije.... con parse, se puede

Código PHP:
<?php
$pased_url
=parse_url($_SERVER['REQUEST_URI']);//o la url que quieres parsear
echo $pased_url['fragment'];

//o si lo que quieres es detectar si esta puesto el fragment
if(isset($pased_url['fragment']) && strlen($pased_url['fragment'])>0){
echo 
"Tiene #";
}
?>
saludos
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida
  #10 (permalink)  
Antiguo 29/07/2008, 09:05
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: ¿es posible detectar el # en una url?

muchas gracias por sus comentarios y respuestas a todos, sin embargo, les quiero contar que he probado lo siguiente:

echo $_SERVER['REQUEST_URI'];

y para una url como esta:

www.dominio.com/index.php?var=algo#seccion3

imprime:

www.dominio.com/index.php?var=algo

no trae el ancla

He probado con php4 y php5 en distintas máquina a las que tengo acceso y todas imprimen lo mismo.

Y respecto a la utilización, concuerdo con que en la actualidad no se utiliza mucho, pero estoy desarrollando webs para iPhone y si alguien tiene experiencia en esto sabrá que para hacer los desplazamientos "lindos" entre una y otra página cargando todo por ajax para que la carga se más rápida al principio se utiliza mucho las anclas. Es una de las mejores técnicas a la hora de desarrollar webapps para iPhone.
__________________
neonomade.com
  #11 (permalink)  
Antiguo 29/07/2008, 09:10
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: ¿es posible detectar el # en una url?

trata con

echo "<pre>";
print_r($_SERVER);
echo "</pre>";

a ver que sacas de ahi.

tambien puedes conseguir el url mediante javascript con

laURL = window.location;

podrias guardar eso en un campo oculto y luego procesarlo
__________________
My path is lit by my own fire, I only go where I desire
  #12 (permalink)  
Antiguo 29/07/2008, 09:13
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: ¿es posible detectar el # en una url?

con javascrip no es problema, sé como hacerlo, pero por un asunto particular del desarrollo sería mucho mejor hacerlo con php. Y respecto al print_r($_SERVER) ya lo hice con $_SERVER, $_GET, $_REQUEST. Ninguno de ellos trae el ancla.

En fin, parece que no se puede. Muchas gracias por toda su ayuda de todas formas.
__________________
neonomade.com
  #13 (permalink)  
Antiguo 29/07/2008, 11:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿es posible detectar el # en una url?

exacto!

esto es algo que solo existe desde el navegador, es como querer usar un confirm() con PHP!!!

ya que estas son anclas internas del documento, y no pueden ser externadas.... seguro
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 18:52.