Foros del Web » Programando para Internet » PHP »

carácteres en GET

Estas en el tema de carácteres en GET en el foro de PHP en Foros del Web. Hola chicos!! pues a ver, estoy haciendo una consulta a la base de datos. A esta la llamo mediante el titulo en la url, por ...
  #1 (permalink)  
Antiguo 06/01/2007, 11:15
 
Fecha de Ingreso: junio-2002
Mensajes: 321
Antigüedad: 21 años, 10 meses
Puntos: 3
carácteres en GET

Hola chicos!!

pues a ver, estoy haciendo una consulta a la base de datos. A esta la llamo mediante el titulo en la url, por ejemplo:

http://prueba/index.php?titulo=casos asombrosos

como veis, tiene un espacio. espacio que lo interpreta de la siguiente manera:

http://prueba/index.php?titulo=casos%20asombrosos

hasta ahi bien. Ahora hago un echo para titulo con
Código:
<?php
echo $_GET[titulo];
?>
y el resultado del echo es: casos asombrosos (sin el %20).

a mi me interesa que la url me la de el echo con el %20.

¿es posible?
un saludo y gracias ^^
  #2 (permalink)  
Antiguo 06/01/2007, 12:06
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: carácteres en GET

Que tal por que no usas una función de sustitución de caracteres?, algo así:
$titulo = str_replace ("%20", " " , $_GET[titulo]);
Espero que te sirva... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #3 (permalink)  
Antiguo 06/01/2007, 12:07
Avatar de lrunge  
Fecha de Ingreso: agosto-2005
Ubicación: En algun lugar de Caracas
Mensajes: 165
Antigüedad: 18 años, 8 meses
Puntos: 4
Re: carácteres en GET

Debe haber una manera mas sencilla que esta... pero igual espero que te sirva:

Código PHP:
<?
//la variable $_SERVER["QUERY_STRING"] me guarda ?titulo=casos%20asombrosos
//Divido la variable a partir de "=" y el valor se lo asigno a $titulo
$titulo explode('='$_SERVER["QUERY_STRING"]);
//muestro la variable $titulo ya dividad desde el caracter "="
echo $titulo[1];
?>
eso te dara como resultado: casos%20asombrosos

Espero te funcione.

Salu2
__________________
"La sencillez de una respuesta, sera inversamente proporcional a su explicacion" Luis Runge
  #4 (permalink)  
Antiguo 06/01/2007, 12:15
 
Fecha de Ingreso: junio-2002
Mensajes: 321
Antigüedad: 21 años, 10 meses
Puntos: 3
Re: carácteres en GET

Cita:
Iniciado por lrunge Ver Mensaje
Debe haber una manera mas sencilla que esta... pero igual espero que te sirva:

Código PHP:
<?
//la variable $_SERVER["QUERY_STRING"] me guarda ?titulo=casos%20asombrosos
//Divido la variable a partir de "=" y el valor se lo asigno a $titulo
$titulo explode('='$_SERVER["QUERY_STRING"]);
//muestro la variable $titulo ya dividad desde el caracter "="
echo $titulo[1];
?>
eso te dara como resultado: casos%20asombrosos

Espero te funcione.

Salu2
gracias por las respuestas.

a ver tengo una duda Iruge...

si tuviera 2 gets, ¿de este modo, hay manera de separarlos? para llamarlos en diferentes echo?


porque he hecho lo siguiente:

Código:
<?
//la variable $_SERVER["QUERY_STRING"] me guarda ?titulo=casos%20asombrosos
//Divido la variable a partir de "=" y el valor se lo asigno a $titulo
$titulo = explode('=', $_SERVER["QUERY_STRING"]);
//muestro la variable $titulo ya dividad desde el caracter "="
echo $titulo[1];
echo $titulo[2];
?>
el caso que la url es esta:

http://prueba/index.php?titulo=prueba&id=veinte

y el resultado de los echos son estos:

prueba&id
veinte

pero de que manera podemos ocultar el &id?

Última edición por Nateskin; 06/01/2007 a las 12:31
  #5 (permalink)  
Antiguo 06/01/2007, 12:38
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: carácteres en GET

Cita:
Iniciado por jmqc Ver Mensaje
Que tal por que no usas una función de sustitución de caracteres?, algo así:
$titulo = str_replace ("%20", " " , $_GET[titulo]);
Espero que te sirva... Saludos
Creo que esto te va a servir mejor en el caso de que tengas mas de una vaible pasada por GET. Si lo haces de la otra forma, tendrías que volver a separar &id.

Se te quedaría así con dos variables (lo mismo si son tres e infinitas).
Código PHP:
$titulo str_replace ("%20"" " $_GET[titulo]);
$idstr_replace ("%20"" " $_GET[id]); 
  #6 (permalink)  
Antiguo 06/01/2007, 12:38
 
Fecha de Ingreso: junio-2002
Mensajes: 321
Antigüedad: 21 años, 10 meses
Puntos: 3
Re: carácteres en GET

vale la solucion es rawurlencode.

el ejemplo (por si a alguie le ayuda):

probad en la url a poner espacios.

Código:
<?

$ejemplo = $_GET[v];
echo rawurlencode($ejemplo);
?>
un saludito ^^
  #7 (permalink)  
Antiguo 06/01/2007, 14:31
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 20 años, 2 meses
Puntos: 5
Re: carácteres en GET

Intenta hecharle un ojo a esta funcion,

url_encode()
www.php.net/url_encode

Por ejemplo:
Código PHP:
$url="http://www.nosedonde.tal/nose tal.php";
<a href="<? echo url_encode($url?>">link</a>
Saludos.-
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
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 22:14.