Foros del Web » Programando para Internet » PHP »

Eliminar una variable GET

Estas en el tema de Eliminar una variable GET en el foro de PHP en Foros del Web. tengo mi web dinamica en donde se accede a ella por variables en la url en una seccion tengo una lista de accesos que se ...
  #1 (permalink)  
Antiguo 18/04/2009, 11:32
 
Fecha de Ingreso: agosto-2006
Mensajes: 22
Antigüedad: 17 años, 8 meses
Puntos: 0
Eliminar una variable GET

tengo mi web dinamica en donde se accede a ella por variables en la url
en una seccion tengo una lista de accesos que se obtienen de una bd en donde mi url queda de la siguiente manera:

misitio/index.php?variable1=1&variable2=1

En este caso me estaria mostrando una seccion de la lista; mi problema es que cuando quiero acceder a otro link de esta seccion la variable2 no cambia de valor sino mas bien por el contrario se adiciona el nuevo valor de la variable; quedando:

misitio/index.php?variable1=1&variable2=1&variable2=2

No encuentro la forma de como poder eliminar esa variable existente y crear otra nueva, es decir que quede asi:

misitio/index.php?variable1=1&variable2=2

o el valor del link que seleccione.

Estuve utilizando el codigo siguiente:

Código PHP:
if (isset($_GET['variable']))
{
unset 
$_GET['variable'];
echo 
"<a href=misitio/index.php?variable1=1&variable2=".$row[2]."'>link</a>"
}else{
echo 
"<a href=misitio/index.php?variable1=1&variable2=".$row[2]."'>link</a>"

pero cuando defino la variable unset mi pagina se queda en blanco y no carga ningun dato

Pero si uso:

Código PHP:
if (isset($_GET['variable']))
{
$variable $_GET['variable2'];
}
if (
$variable == 1)
{
echo 
"Variable2 vale 1";
echo 
"<br>";
}
elseif (
$variable == 2)
{
echo 
"Variable2 vale 2";
echo 
"<br>";
}
echo 
"<a href='misitio/index.php?variable1=1&variable2=1'>Link para que valga 1</a>";
echo 
"<br>";
echo 
"<a href='misitio/index.php?variable1=1&variable2=2'>Link para que valga 2</a>"
Ahi si funciona pero no logro encontrar un codigo que sea para que lea los registros de mi bd.

Espero contar con alguna ayuda, se lo agradeceria enormemente.
  #2 (permalink)  
Antiguo 18/04/2009, 11:46
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Eliminar una variable GET

si pudieras explicar un poco mejor, bueno lo que entiendo es que tu creas links con datos de un bd que te crean links mas o menos asi

<a href="pagina.php?v1=1&v2=1">lo que sea</a>
<a href="pagina.php?v1=1&v2=2">lo que sea</a>
.
.
.

si das click en el primer link t manda a pagina.php con los valores que definiste y me imagino que te aparecen otra ves los link y aora le das al segundo y te lo unico que hace aparte de recargar la pagina no cambia los valores de url sino que añade la variable 2 otra vez si es eso esta muy raro por que al darle click al vinculo se pierden los datos y se toman los nuevo valores y si no es eso explicalo un poco
  #3 (permalink)  
Antiguo 18/04/2009, 11:50
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Eliminar una variable GET

La pagina se te queda en blanco por un error de sintaxis

te falta el punto y como ';' al final de cada echo...
Pruebalo y dices si el unset te funciona

Saludos
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #4 (permalink)  
Antiguo 18/04/2009, 12:07
 
Fecha de Ingreso: agosto-2006
Mensajes: 22
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Eliminar una variable GET

Para By_George
Código:
<a href="pagina.php?v1=1&v2=1">lo que sea</a>
<a href="pagina.php?v1=1&v2=2">lo que sea</a>
Este era solo un ejemplo, porque en realidad el var2 va a coger los datos de mi bd

por eso que deberia ser:

Código PHP:
<a href="pagina.php?v1=1&v2=$row[2]">lo que sea</a
Para Avartar810

Código PHP:
if (isset($_GET['variable']))
{
unset 
$_GET['variable']; <== SI ESTA EL PUNTO Y COMA
echo "<a href=misitio/index.php?variable1=1&variable2=".$row[2]."'>link</a>"
}else{
echo 
"<a href=misitio/index.php?variable1=1&variable2=".$row[2]."'>link</a>"

Gracias por su atencion brindada.

Editado:
Gracias amigos por sus sugerencias; ya solucione mi problema. Todo radicaba en la forma de llamar a la pagina, debe ser asi:

Código PHP:
echo "<a href=index.php?variable1=1&variable2=".$row[2]."'>link</a>" 
Ahi estaba todo el problema

Última edición por rodolfospyronet; 18/04/2009 a las 12:12
  #5 (permalink)  
Antiguo 18/04/2009, 12:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Eliminar una variable GET

Cita:
Iniciado por Avatar810 Ver Mensaje
[...] te falta el punto y como ';' al final de cada echo... [...]



Cita:
Iniciado por rodolfospyronet Ver Mensaje
Código PHP:
unset $_GET['variable']; <== SI ESTA EL PUNTO Y COMA 


¿ese es el final de cada echo ??


otro horror que se ve, es que no usas HTML valido

osea... todos los atributos necesitan comillas dobles, y tu no las usas!

Código PHP:
// incorrecto
echo '<a href=?foo=' $bar '>candy</a>';

// correcto
echo '<a href="?foo=' $bar '">candy</a>'
¿notas la diferencia?

--
PDTA: leer bien, esa es la clave....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 18/04/2009, 16:34
 
Fecha de Ingreso: agosto-2006
Mensajes: 22
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Eliminar una variable GET

Para pateketrueke.

Jejeje... me corrigues de fallas simples y le llamas horror porque no uso html valido, pero creo que tu eres mas novato que yo todavia; porque mi error de los puntos y coma si fue solo error de transcripcion de mi codigo al foro ya que lo hacia rapido.

Pero el uso de comillas simples sino. Yo escribi:
Código PHP:
...echo "<a href='misitio/index.php?variable1=1&variable2=".$row[2]."'>link</a>"
...} 
Pero tu escribes:
Código PHP:
// incorrecto
echo '<a href=?foo=' $bar '>candy</a>';

// correcto
echo '<a href="?foo=' $bar '">candy</a>'
A lo que llamas correcto deberia ser:

Código PHP:
// correcto
echo "<a href='?foo=" $bar "'>candy</a>";  
// O tambien:
echo "<a href='?foo=$bar'>candy</a>";
//que por el uso de las comillas dobles se puede obviar 
Busca info de cuando se debe usar comillas dobles y simples en php para que tengas una idea mas clara. O tambien leer este tema para que tengas una idea.

forosdelweb.com/f18/diferencias-entre-php-529033/

Sobre mi problema ya lo he solucionado. Gracias a todos por su apoyo.
  #7 (permalink)  
Antiguo 18/04/2009, 16:58
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Respuesta: Eliminar una variable GET

Creo que pateketrueke tiene razón. Como dice los atributos en HTML deben llevar comillas dobles para que sea XHTML.

Así:

Código PHP:
echo '<a href="?foo=' $bar '">candy</a>'
También:

Código PHP:
echo "<a href=\"?foo=$bar\">candy</a>"
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #8 (permalink)  
Antiguo 18/04/2009, 18:21
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Eliminar una variable GET

Cita:
Busca info de cuando se debe usar comillas dobles y simples en php para que tengas una idea mas clara. O tambien leer este tema para que tengas una idea.

forosdelweb.com/f18/diferencias-entre-php-529033/
Estoy seguro de que pateketrueke conoce MUY BIEN la diferencia, talvez a ti te ayudaria leer un poco:
http://www.forosdelweb.com/f18/como-...1/#post2414268
Un TREMENDO tutorial de tu amigo, el "novato", pateketrueke. A ver si aprendes alguito.
  #9 (permalink)  
Antiguo 18/04/2009, 19:31
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Eliminar una variable GET

de hecho rodolfospyronet originalmente no pusiste ni comillas ismples ni dobles...
simplemente acepta tu equivocacion y sigue aprendiendo de ellas

La linea que te corrige pateketrueke esta correcta, y el tutorial que te ponen te puede ayudar mucho

suerte
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #10 (permalink)  
Antiguo 18/04/2009, 20:32
Avatar de jayjayjay_92  
Fecha de Ingreso: octubre-2008
Mensajes: 77
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Eliminar una variable GET

No hijo no... pateketrueke tiene razón, tu codigo es un horror y el suyo esta perfecto.
  #11 (permalink)  
Antiguo 24/04/2009, 14:43
 
Fecha de Ingreso: agosto-2006
Mensajes: 22
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Eliminar una variable GET

Okas gracias. Veo que todavia me falta mucho mas por aprender en php
  #12 (permalink)  
Antiguo 26/07/2009, 08:53
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Eliminar una variable GET

Veo que paso un tiempo, y que terminaron hablando sobre validacion html / xhtml.

Pero les pido un empujon acerca del tema inicial, porque no encuentro informacion en foros, y me es dificil plantear el tema en google.

Necesito pasar variables get asi ?var=tal ; y luego borrarlas. Esto, porque utilizo ajax para cargar contenidos de paginas, y tambien una condicion:

if (var=tal) {};

La condicion tiene que ejecutarse una sola vez, no para cada pagina cargada por ajax. Entonces, ¿Cómo la borro de "alla arriba", del renglon donde dice "ht tp://ww.pagina.php?var=tal" ?

Agradezco sus comentarios. Busqué metodos windows de javascript pero no encontré nada.

Saludos, Guillermo.
  #13 (permalink)  
Antiguo 28/07/2009, 16:18
 
Fecha de Ingreso: julio-2009
Mensajes: 90
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: Eliminar una variable GET

tambien estoy buscando la misma informacion. si alguien se hiciera el amable en responder le estaria muy agradecido
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 08:20.