Autor Tema: Pregunta basica de PHP  (Leído 2622 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado stoke

  • Sv Member
  • ***
  • Mensajes: 342
Pregunta basica de PHP
« : septiembre 12, 2012, 10:13:19 pm »
Hola amigos, tengo una consulta, Si tengo esta URL

http://www.dominio.com/archivo.php#variable=valor

Nota que es un simbolo de "#" en lugar de "?",

Existe en PHP alguna forma de obtener "valor" de esta URL.

Desconectado JaiMe

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 1485
  • λ | h+
Re:Pregunta basica de PHP
« Respuesta #1 : septiembre 13, 2012, 02:12:48 am »
Esa parte se llama fragment, y cuando mandas una petición al servidor esa parte es omitida. Tenes dos opciones

1. Obtienes el fragment usando JavaScript mediante window.location.hash y indexOf o regex
2. Mandar la url entera al servidor así como cadena de texto y luego usar parse_url() para obtener un arreglo asociativo

http://www.php.net/manual/en/function.parse-url.php

Código: [Seleccionar]
Array
(
    [scheme] => http
    [host] => hostname
    [path] => /path
    [query] => arg=value
    [fragment] => anchor   // <--- Esto te interesa
)

"Unless you try to do something beyond what you have already mastered, you will never grow."
― Ralph Waldo Emerson

Desconectado stoke

  • Sv Member
  • ***
  • Mensajes: 342
Re:Pregunta basica de PHP
« Respuesta #2 : septiembre 13, 2012, 11:05:18 am »
Gracias por la aclaracion '~', Sospechaba que este hash nunca se envia al servidor y que funciona nada mas del lado del cliente, asi que no queda otra opcion que obtener el valor con Javascript y luego enviarlo a por un request al script de PHP.

Lo que hice fue leer este valor desde document.URL (ahora se que puedo usar document.hash) y luego hacer un window.location.replace('archivo.php?hash=' + hash)