Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] no logro rescatar el ampersand (&) del metodo get

Estas en el tema de no logro rescatar el ampersand (&) del metodo get en el foro de PHP en Foros del Web. hola bueno siempre he resuelto mis dudas mirando esta pagina, y desidi crearme una cuenta ya que no logro encontrar la solucion a mi problema. ...
  #1 (permalink)  
Antiguo 23/01/2013, 20:33
 
Fecha de Ingreso: enero-2013
Mensajes: 40
Antigüedad: 11 años, 3 meses
Puntos: 1
no logro rescatar el ampersand (&) del metodo get

hola
bueno siempre he resuelto mis dudas mirando esta pagina, y desidi crearme una cuenta ya que no logro encontrar la solucion a mi problema.

bueno tengo un editor de texto en una pagina, y un boton "vista previa" lo que me lleva a otra pagina y muestra el contenido. el problema esta que cuando rescato un ampersand (&) no me lo imprime.

-html-
<a href="pagina2.php?id=dds&oacute">vista</a>

-php-
$var=$_GET["id"];
echo $var;

bueno le envio por metodo get una variable que contiene el caracter & entremedio lo cual deveria imprimir "dds$oacute" o "ddsó" pero solo imprime "dds"
y lo que viene despues de ese simbolo no imprime nada mas.
en la pagina 2 se ve claramente todo el contenido en la barra de direcciones, pero no logro imprimirlo en pantalla.
  #2 (permalink)  
Antiguo 23/01/2013, 21:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no logro rescatar el ampersand (&) del metodo get

Sucede que el carácter & es también el separador de variables en la definición de una URL, es por eso que sencillamente no puedes usar dicho carácter sólo por que sí.

Para poder emplearlo en un enlace debe estar en su notación escapada, con urlencode() consigues dicho valor.

Eso es básico, y no digamos de HTML, deberías saber.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/01/2013, 22:35
 
Fecha de Ingreso: enero-2013
Mensajes: 40
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: no logro rescatar el ampersand (&) del metodo get

probare eso mañana que ya me ire a dormir, pero se ve que me dara resultados gracias!
  #4 (permalink)  
Antiguo 23/01/2013, 23:45
 
Fecha de Ingreso: enero-2011
Mensajes: 94
Antigüedad: 13 años, 3 meses
Puntos: 7
Respuesta: no logro rescatar el ampersand (&) del metodo get

Eso de rescatar el ampersand no existe, puedes hacer es esto:

recuerda que si vas a pasar parámetros por url es así

la pagina + extencion de la pagina + ? + nombre de la variable + = + valor

ejemplo

Código HTML:
Ver original
  1. <a href="pagina2.php?id=valor">vista</a>

ahora el ampersand se usa para pasar mas de una variable asi


la pagina + extencion de la pagina + ? + nombre de la variable + = + valor + &

Código HTML:
Ver original
  1. <a href="pagina2.php?id_1=valor_1&id_2=valor_1">vista</a>



ahora en php seria asi

pagina 1

pagina_1.php


Código PHP:
Ver original
  1. <?php
  2.  
  3. $variable_1 = "carro";
  4. $variable_2 = "moto";
  5.  
  6. ?>



recibirlo en la pagina 2

pagina_2.php


Código PHP:
Ver original
  1. <?php
  2.  
  3. parametro_1 = -1;
  4.  
  5. if (isset($_GET['$var_1']))
  6. {
  7.         parametro_1 = $_GET['$var_1']
  8. }
  9.  
  10.  
  11. parametro_2 = -1;
  12.  
  13. if (isset($_GET['$var_2]))
  14. {
  15.        parametro_2 = $_GET['$var_2']
  16. }
  17.  
  18.  
  19.  
  20.  
  21. ?>



Imprimirlo

Código PHP:
Ver original
  1. primero: <?php echo parametro_1;?>
  2.  
  3. segundo: <?php echo parametro_2;?>



como pasar valor por url de este ejemplo así:


Código HTML:
Ver original
  1. <a href="pagina_2.php?var_1=<?php echo $variable_1; ?>&var_2=<?php echo $variable_2; ?>">vista</a>


ahora si quieres pasar el ampersand puedes hacer esto

Código PHP:
Ver original
  1. $ampersand = "&";

bueno y ya sabes todo lo demás
saludos
  #5 (permalink)  
Antiguo 24/01/2013, 10:24
 
Fecha de Ingreso: enero-2013
Mensajes: 40
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: no logro rescatar el ampersand (&) del metodo get

bueno igual buscaba como pasar mas de una variable por un link y sin pedirlo lo encontre, gracias.
pero mi problema es otro se supone que lo que estoy pasando es una sola variable y lleva muchos & intermedios ya que es un bbcode y para los tildes, ñ y esas cosas.

de la pagina 1 lo estoy enviando de javascript y en la pagina 2 lo resivo con php.

ahora mi pregunta es si puedo enviarlo como una sola variable y que el & lo reconosca como contenido de la misma variable y no como una concatenacion.
o si hay otra forma de enviarlo de una pagina a otra?

sino tendria que guardarlo en una BD como borrador y que al visualizarlo en la pag2 lo rescate de la bd cosa que no encuentro muy adecuada.
  #6 (permalink)  
Antiguo 24/01/2013, 10:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no logro rescatar el ampersand (&) del metodo get

Cita:
Iniciado por pateketrueke Ver Mensaje
Sucede que el carácter & es también el separador de variables en la definición de una URL, es por eso que sencillamente no puedes usar dicho carácter sólo por que sí.

Para poder emplearlo en un enlace debe estar en su notación escapada, con urlencode() consigues dicho valor.

Eso es básico, y no digamos de HTML, deberías saber.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 24/01/2013, 11:25
 
Fecha de Ingreso: enero-2013
Mensajes: 40
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: no logro rescatar el ampersand (&) del metodo get

gracias a todos.

logre rescatar todo el contenido.
con el urlencode() funcionaba pero estaba enviandolos con javascript asi que busque similitudes como encodeURI() o decodeURI() que hacen lo mismo que lo de php.

Etiquetas: ampersand, metodo
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:59.