Foros del Web » Programando para Internet » PHP »

Paso de variables como parametro por url

Estas en el tema de Paso de variables como parametro por url en el foro de PHP en Foros del Web. Este es una pregunta que veo en muchas partes, el porblema es que se hace de manera sencilla. Este es mi problema, tengo una funcion ...
  #1 (permalink)  
Antiguo 12/01/2012, 21:20
Avatar de mitcheldaza  
Fecha de Ingreso: junio-2011
Ubicación: Colombia
Mensajes: 42
Antigüedad: 12 años, 9 meses
Puntos: 1
Pregunta Paso de variables como parametro por url

Este es una pregunta que veo en muchas partes, el porblema es que se hace de manera sencilla.

Este es mi problema, tengo una funcion que despliega el contenido de una tabla de una base de datos. Despues de desplegados los datos de una de las columnas deben ser vinculos para redirigir a otra pagina.

en esta linea quiero realizar la accion que describi antes , $result['N_TITULO_O'] es el el arreglo donde estan los resultados de mi consulta, estos los trato con un while como corresponde.

Código PHP:
echo '<table>';
while(
$result=mysql_fetch_array($con)){
        
$camino=$result['N_TITULO_OBRA'];
    echo 
'<tr>';
    echo 
'<td>';
    echo 
'<p> <a href="control/enrutador.php?ruta=$camino">'.$result['N_TITULO_O'].'</a> </p>';
    echo 
'</td>';
    echo 
'<td>';
    echo 
'<p>'.$result['N_AUTOR'].'</p>';
    echo 
'</td>';
    echo 
'</tr>';                
           }
    echo 
'</table>'
Ahora en esta linea quiero pasar el contenido de cada $result['N_TITULO_OBRA'] como valor del parametro ruta por medio de la direccion url, para eso me valgo de la variable $camino.

Código PHP:
$camino=$result['N_TITULO_OBRA'];    
echo 
'<p> <a href="control/enrutador.php?ruta=$camino">'.$result['N_TITULO_O'].'</a> </p>'
el problema es que al recibirlo en el rachivo control/enrutador.php por medio de

Código PHP:
echo "Camino  " $_REQUEST['ruta']; 
la variable es $camino, lo trata como una cadena mas no el contenido de esta.

No se si me he explicado bien pero no puedo pasar una variable como parametro de la direccion url.

podria alguien ayudarme con esto, GRACIAS
  #2 (permalink)  
Antiguo 12/01/2012, 21:37
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: Paso de variables como parametro por url

... personalmente no alcanzo a entender. Dices que lo trata como una cadena, ¿pues no es una cadena el valor de la variable?.

Como quiera que sea, ve el código fuente de tu HTML generado. Por el nombre de tu variable, me imagino tiene caracteres que tienen un significado especial para la URL, en tal caso necesitarás codificarlos.

php.net/urlencode
__________________
I ♥ The Music!
  #3 (permalink)  
Antiguo 12/01/2012, 21:42
Avatar de mitcheldaza  
Fecha de Ingreso: junio-2011
Ubicación: Colombia
Mensajes: 42
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Paso de variables como parametro por url

Gracias por responder.
Creo que no me exprese bien

Cuando digo que lo trata como una cadena me refiero a que la salida en pantalla con de este tipo

Camino $camino

Toma el nobre de la varible que le pase mas no el contenido de esta
  #4 (permalink)  
Antiguo 12/01/2012, 21:47
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: Paso de variables como parametro por url

Tienes que entender la diferencia entre comillas simples y comillas dobles:

http://php.net/manual/es/language.types.string.php

Si un string está encerrado entre comillas dobles ("), PHP interpretará las variables. En comillas simples no.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 12/01/2012, 22:04
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: Paso de variables como parametro por url

Claro, no lo vi. Tu problema es de comillas. Tienes que romper la cadena e imprimir la variable:
Código PHP:
Ver original
  1. echo 'El valor de la variable es: ' . $variable;
__________________
I ♥ The Music!
  #6 (permalink)  
Antiguo 12/01/2012, 22:42
Avatar de mitcheldaza  
Fecha de Ingreso: junio-2011
Ubicación: Colombia
Mensajes: 42
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Paso de variables como parametro por url

Exacto mi problema es de comillas, sin embargo me pegue una perdida al momento de crear el vinculo a partir de la informacion de la BD.

El punto en el que me pierdo esta aqui, como la etiqueta <a href="vinculo"> necesita el valor del vinculo encerrado en comillas dobles, no he entendido como dejar estas y que no se tome como el fin de la salida de echo.

Estoy leyendo el vinculo que me pasaron pero aun no comprendo bien el concepto de escapar una cadena con \.

Alguien podria ayudarme como dije antes mi confusion esta en las comillas que se necesitan para el vinculo de la etiqueta <a>
  #7 (permalink)  
Antiguo 12/01/2012, 22:53
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: Paso de variables como parametro por url

Ya lo dije en mi mensaje/código anterior. Va de nuevo, más claro:
Código PHP:
Ver original
  1. echo 'El valor de la "variable" es: ' . $variable;
  2. echo "El valor de la \"variable\" es: $variable";
.. y no es que en html se necesiten comillas dobles; simples igual funcionan.
__________________
I ♥ The Music!
  #8 (permalink)  
Antiguo 12/01/2012, 23:21
Avatar de mitcheldaza  
Fecha de Ingreso: junio-2011
Ubicación: Colombia
Mensajes: 42
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Paso de variables como parametro por url

Perdon por la lentitud para agarrar el concepto, ya con el ultimo ejemplo me quedo clara la cosa.

Por si le sirve a alguien la linea completa funcionando es esta

Código PHP:
echo "<p> <a href=\"control/enrutador.php?ruta=$camino\">".$result['N_TITULO_O']."</a> </p>"
La manera de capturar la variable es mediante

Código PHP:
echo "Camino  " $_REQUEST['ruta']; 
Gracias por las respuestas

Etiquetas: parametro, paso, sql, tabla, url, 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 08:30.