Foros del Web » Administración de Sistemas » Apache »

No optiene las variables GET

Estas en el tema de No optiene las variables GET en el foro de Apache en Foros del Web. Buenas Estoy trabajando con URLS Amigables y PHP ... El Caso es que tengo varias secciones dentro de un archivo separadas por un swicth() el ...
  #1 (permalink)  
Antiguo 16/07/2010, 16:14
 
Fecha de Ingreso: abril-2009
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 1
No optiene las variables GET

Buenas

Estoy trabajando con URLS Amigables y PHP ...

El Caso es que tengo varias secciones dentro de un archivo separadas por un swicth()

el caso es que esta asi:

Código PHP:
switch($_GET["page"]) {

case 
'items':
include(
"item.php");
break;

default:
include(
"web.php");
break;

Entonces para poder ver cada seccion se accder por

index.php?page=items

en esa pagina hay un formulario que envia Variables GET a si misma dando como resultado algo asi

index.php?page=items&item=proing&for=5


Hasta AHi funciona bien pero cuando pongo URLS Amigables en el .httacces asi

RewriteRule ^buscar-item/?$ index.php?page=items [L]


y modifico algo el formulario entonces las variables se envian asi

/buscar-item?item=poring&for=5

Lo que pasa es que si me accede ala pagina pero me marca

Lo Sentimos la variable "item" esta vacia porfavor verifique y esque cuando utilizo URLS Amigables no me optiene el valor de las variables get

alguna idea?

saludos!
  #2 (permalink)  
Antiguo 16/07/2010, 16:18
 
Fecha de Ingreso: mayo-2010
Mensajes: 212
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: No optiene las variables GET

por que no usas mejor $_request[''];
__________________
Por favor dejenme Karmas
  #3 (permalink)  
Antiguo 16/07/2010, 16:23
 
Fecha de Ingreso: abril-2009
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: No optiene las variables GET

Cita:
Iniciado por Ursulo Ver Mensaje
por que no usas mejor $_request[''];
._.U yo se que con request es lo mismo.. aun asi lo intente y no pasa nada D=

PD: Aclaro: si me funciona con ?page=item pero con /busucar-item no
  #4 (permalink)  
Antiguo 16/07/2010, 17:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: No optiene las variables GET

se supone que el sistema de reescritura de URLs, mod_rewrite no pasa las variables por ti...

en todo caso, la expresión de lado izquierdo es la entrada, y la salida siempre es la expresión de lado derecho: osea, si en tu expresión no contemplas el paso de variables de otra manera no va a ser posible conseguir lo que deseas...

en fin, debes usar otra técnica:
Cita:
RewriteRule ^buscar-item/?$ index.php?page=items [L]
RewriteRule ^buscar-item/(.+)/?$ index.php?page=items&item=$1 [L]
# etc...
¿porque?

al haber variables GET en la expresión de entrada, la del navegador... se omiten, si la expresión final -de la derecha- hace uso directo de variables GET, simplemente eso...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 16/07/2010, 20:28
 
Fecha de Ingreso: abril-2009
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: No optiene las variables GET

Ummm entonces no se le puede hacer como lo tiene YouTube? D=

que traeee
www.youtube.com/watch?v=lasadasdasd

usan eso y no omite el GET que es enviado la variable "v"
  #6 (permalink)  
Antiguo 16/07/2010, 20:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: No optiene las variables GET

Cita:
Iniciado por AztekaMX Ver Mensaje
Ummm entonces no se le puede hacer como lo tiene YouTube? D=

que traeee
www.youtube.com/watch?v=lasadasdasd

usan eso y no omite el GET que es enviado la variable "v"
por favor, pon atención y lee con cuidado lo que he comentado antes...

por supuesto que es posible, pero mod_rewrite tiene ciertas restricciones lógicas al momento de pasar variables GET entre expresiones, y ese es tu problema... ¿que relación tiene con la la URL de youtube?

además, ¿tu como sabes que youtube usa mod_rewrite?, si no lo puedes confirmar, entonces no es bueno para que compares....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 16/07/2010, 20:47
 
Fecha de Ingreso: abril-2009
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: No optiene las variables GET

mmmmm estaba intentando asi

RewriteRule ^buscar-item/(.+)/(.+)/?$ index.php?page=items&for=$1&item=$2 [L]

http://localhost/database/buscar-item/5/poring

pero el caso es que no me agrada tener tantas barritas... abria alguna forma mas sencilla de cambiara la URL?

Gracias.

Agrego:

LO intente asi D= mas creible jeje

RewriteRule ^buscar-item?item=(.+)&for=(.+)?$ index.php?page=items&item=$1&for=$2 [L]

Saludos =)

PD: tampoco me funciono =X

Última edición por AztekaMX; 16/07/2010 a las 20:54
  #8 (permalink)  
Antiguo 16/07/2010, 20:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: No optiene las variables GET

y si en lugar de "barritas" usas guiones??
http://localhost/database/buscar-item-5-poring

etc. puedes usar los caracteres que consideres útiles y atractivos, no necesariamente debes usar diagonales... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 16/07/2010, 21:02
 
Fecha de Ingreso: abril-2009
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: No optiene las variables GET

sercasss

lo intente asi

RewriteRule ^buscar-item&item=(.+)&for=(.+)/?$ index.php?page=items&item=$1&for=$2 [L]

el resultado fue

localhost/database/buscar-item&item=poring&for=100

La unica diferencia que hay es que hay un & en ves de ? en buscar-item&
jeje

no esta tan mal D: .... pero una dudaaa máas

que cuando te falta algo

http://localhost/database/buscar-item&item=poring&
suponiendo que me falta el for=5 me manda "Page Not Found"

podria aver una manera de que no diga eso que mande la URL pero que no sea obligatorio poner el FOR y todos los datos u.u
  #10 (permalink)  
Antiguo 16/07/2010, 21:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: No optiene las variables GET

solo escribe otra regla que permita omitir dicha variable... ;)

no es necesario hacer todo con una sola expresión, puedes crear las que necesites...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 17/07/2010, 12:09
 
Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 3
Respuesta: No optiene las variables GET

Prueba de esta forma:

Código:
RewriteRule ^buscar-item$ index.php?page=items&%{QUERY_STRING} [L]
y funcionaría así:
Código:
/buscar-item?item=poring&for=5 
y el resultado sería:
Código:
index.php?page=items&item=proing&for=5 
Saludos.

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond
  #12 (permalink)  
Antiguo 17/07/2010, 13:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde PHP a Apache
  #13 (permalink)  
Antiguo 23/07/2010, 21:19
 
Fecha de Ingreso: abril-2009
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: No optiene las variables GET

Cita:
Iniciado por leonardo_almeida Ver Mensaje
prueba de esta forma:

Código:
rewriterule ^buscar-item$ index.php?page=items&%{query_string} [l]
y funcionaría así:
Código:
/buscar-item?item=poring&for=5 
y el resultado sería:
Código:
index.php?page=items&item=proing&for=5 
saludos.

http://httpd.apache.org/docs/2.0/mod...ml#rewritecond

muchas gracias =D

Etiquetas: variables
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 09:06.