Foros del Web » Programando para Internet » PHP »

Como obtengo las variables desde una url amigable?

Estas en el tema de Como obtengo las variables desde una url amigable? en el foro de PHP en Foros del Web. Buenas, le puse url amigables a mi web, pero ahora no puedo descargar la variable id para hacer un select, como se hace? gracias. antes:midominio.com?id=123&titulo=autos ...
  #1 (permalink)  
Antiguo 04/08/2011, 15:10
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Pregunta Como obtengo las variables desde una url amigable?

Buenas, le puse url amigables a mi web, pero ahora no puedo descargar la variable id para hacer un select, como se hace? gracias.

antes:midominio.com?id=123&titulo=autos
$id=$_GET['id'];

ahora:midominio.com/123/titulo-autos/
$id=?????
  #2 (permalink)  
Antiguo 04/08/2011, 15:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Como obtengo las variables desde una url amigable?

Depende de como hagas el .htaccess ya que ahí es como defines la reestructura de las variables.

Saludos.
  #3 (permalink)  
Antiguo 04/08/2011, 15:29
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: Como obtengo las variables desde una url amigable?

Esto es lo que puse en .htaccess :

# Do not remove this line, otherwise mod_rewrite rules will stop working

RewriteBase /
Options +FollowSymLinks
RewriteEngine on
#4 variables
Rewriterule ^(.*)/(.*),(.*)/(.*),(.*)/(.*),(.*)/(.*),(.*)/$ $1.php?$2=$3&$4=$5&$6=$7&$8=$9
#3 variables
Rewriterule ^(.*)/(.*),(.*)/(.*),(.*)/(.*),(.*)/$ $1.php?$2=$3&$4=$5&$6=$7
#2 variables
Rewriterule ^(.*)/(.*),(.*)/(.*),(.*)/$ $1.php?$2=$3&$4=$5
#1 variable
Rewriterule ^(.*)/(.*),(.*)/$ $1.php?$2=$3

Funcionan bien, puedes verlas aqui, me las ingenie para hacer funcionar el select que usa el id, pero tengo que hacer que funcione un select descargando el valr de titulo y no se como hacer...
  #4 (permalink)  
Antiguo 04/08/2011, 15:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Como obtengo las variables desde una url amigable?

Pues ese htaccess lo que dice es que las variables se van a reescribir así:

/script/var,valor/var,valor, o sea si tu tendrias que hacer: midominio.com/index/id,123/titulo,autos/ y podrías rescatar en tu script $_GET['id'] y $_GET['titulo'].

Saludos.
  #5 (permalink)  
Antiguo 04/08/2011, 15:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Como obtengo las variables desde una url amigable?

Pero el formato que empleas en la URL no corresponde al del .htaccess, pues en la URL estas usando guiones y en el .htaccess usas comas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 04/08/2011, 15:40
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Como obtengo las variables desde una url amigable?

Intenta imprimiento ésto:
Código PHP:
Ver original
  1. $_SERVER['PATH_INFO'];

Obtendrás algo como /123/titulo-autos
De ahí con la función explode puedes extraer lo que necesitas

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #7 (permalink)  
Antiguo 04/08/2011, 15:42
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: Como obtengo las variables desde una url amigable?

Cita:
Iniciado por GatorV Ver Mensaje
Pues ese htaccess lo que dice es que las variables se van a reescribir así:

/script/var,valor/var,valor, o sea si tu tendrias que hacer: midominio.com/index/id,123/titulo,autos/ y podrías rescatar en tu script $_GET['id'] y $_GET['titulo'].

Saludos.
OK, por lo entendi, dices que tengo que mostrar el nombre de la variable id?

actualmente se muestra asi:
dominio.com.ar/index.php/37/seccion-Aviones/nombre-Harrier/

entonces para descargar las variables tengo que hacer que se muestre asi?
dominio.com.ar/index.php/id,37/seccion,Aviones/nombre,Harrier/

y con
$valorid=$_GET['id']; //se tiene que ver la variable, ok voy a probarlo, gracias.
  #8 (permalink)  
Antiguo 04/08/2011, 15:43
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: Como obtengo las variables desde una url amigable?

Cita:
Iniciado por pateketrueke Ver Mensaje
Pero el formato que empleas en la URL no corresponde al del .htaccess, pues en la URL estas usando guiones y en el .htaccess usas comas.
OK, eso no lo sabia, ahora mismo lo cambio, entonces tienen que ser iguales, gracias.
  #9 (permalink)  
Antiguo 04/08/2011, 15:47
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: Como obtengo las variables desde una url amigable?

Cita:
Iniciado por Sourcegeek Ver Mensaje
Intenta imprimiento ésto:
Código PHP:
Ver original
  1. $_SERVER['PATH_INFO'];

Obtendrás algo como /123/titulo-autos
De ahí con la función explode puedes extraer lo que necesitas

Saludos!
Ok, si no me funciona lo otro, pruebo con eso, yo habia hecho algo parecido para sacar la id, sabia que estaba alli arriba en el browser...entonces tome toda la direccion y le quite sus letras y signos...de esa forme pude hacer un select con la id !!!
  #10 (permalink)  
Antiguo 04/08/2011, 15:47
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Como obtengo las variables desde una url amigable?

Con todo el respeto que se merecen los aquí presentes, espero no me multen por meter la cucharada en este tema...

La verdad yo utilizo MOD REWRITE ademas que para lo de "amigables" también como seguridad...

Tal vez nuestro amigo solo quiera la parte de "amigables" porque no le veo nada de seguro enviar el nombre de la variable acompañado del valor (no me parece que vean el nombre de mis variables en la URL).

En mi proyecto (porque no lo he terminado) yo solo mando los valores.

Estaré equivocado ?
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #11 (permalink)  
Antiguo 04/08/2011, 15:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Como obtengo las variables desde una url amigable?

Cita:
Iniciado por jotaincubus Ver Mensaje
[...] Estaré equivocado ?
En parte tienes razón, sin embargo no es critico para el caso, quien quiera azul celeste que le cueste.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 04/08/2011, 15:51
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Respuesta: Como obtengo las variables desde una url amigable?

Cita:
Iniciado por jotaincubus Ver Mensaje
Con todo el respeto que se merecen los aquí presentes, espero no me multen por meter la cucharada en este tema...

La verdad yo utilizo MOD REWRITE ademas que para lo de "amigables" también como seguridad...

Tal vez nuestro amigo solo quiera la parte de "amigables" porque no le veo nada de seguro enviar el nombre de la variable acompañado del valor (no me parece que vean el nombre de mis variables en la URL).

En mi proyecto (porque no lo he terminado) yo solo mando los valores.

Estaré equivocado ?
No hay ningun problema en que vean estos datos, al momento de descargarlos los limpias por si alguien quiere metaer algun codigo malo, igual si sabes como obtener la variable sin mostrar el nombre de esta, me gustaria saberlo tambien podria servirme, muchas gracias por tu opinion, sludos..

Etiquetas: amigables, url
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:37.