Foros del Web » Programando para Internet » PHP »

Duda con uso de variables

Estas en el tema de Duda con uso de variables en el foro de PHP en Foros del Web. Hola, Estoy haciendo un website con dos idiomas y tengo la siguiente situación. Tengo un archivo info.php que contiene 4 categorías: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: ...
  #1 (permalink)  
Antiguo 01/07/2011, 19:40
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Duda con uso de variables

Hola,

Estoy haciendo un website con dos idiomas y tengo la siguiente situación.

Tengo un archivo info.php que contiene 4 categorías:

Código PHP:
Ver original
  1. $secciones = array('manga_del_mar_menor','paseos_por_barco','fiestas_por_la_noche','espana');
  2.  
  3. if(in_array($_GET['v'],$secciones)) {
  4.     $seccion = $_GET['v'];
  5. } else {
  6.     $seccion = '';
  7. }

Este código le da valor a la variable $seccion que luego la uso luego para cambiar el contenido de la página con un switch.

Lo que deseo hacer es esto:

Código PHP:
Ver original
  1. $categoria  = $lng_$seccion;

Es decir, quiero que haga que la variable $categoria tome el valor $lng_ más el valor que tome $seccion.

Espero que se haya entendido y puedan ayudarme.

Saludos.
  #2 (permalink)  
Antiguo 01/07/2011, 20:18
Avatar de nuuk_ikel  
Fecha de Ingreso: agosto-2008
Ubicación: [ Dimensión desconocida ]
Mensajes: 164
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: Duda con uso de variables

Intenta asi:

Código PHP:
Ver original
  1. <?php
  2.         switch($myArray){
  3.     case 'var1':
  4.     echo "este es el resultado";
  5.     break;
  6.     case 'var2':
  7.     echo "este es el segundo resultado";
  8.     break;
  9. }
  10. ?>
__________________
[ Si hay un problema, existe una solución ]
  #3 (permalink)  
Antiguo 01/07/2011, 20:32
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Duda con uso de variables

Gracias por tu respuesta!

Lo del switch si se cómo hacerlo. Lo que necesito es crear la variable $lng_$seccion para poder llamar el texto en el idioma que necesito ya que tengo 2 archivos de idiomas: esp.php y russian.php. Y cada uno tiene las variables $lng_manga_del_mar_menor, etc. Con su respectiva traducción.
  #4 (permalink)  
Antiguo 02/07/2011, 04:49
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Duda con uso de variables

Cita:
Iniciado por kenproxd Ver Mensaje
Hola,
Es decir, quiero que haga que la variable $categoria tome el valor $lng_ más el valor que tome $seccion.
Mmm Siendo literales lo que buscas es concatenar ¿No?-> $lng_.=$seccion;
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #5 (permalink)  
Antiguo 02/07/2011, 06:58
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Duda con uso de variables

Cita:
Iniciado por IEKK Ver Mensaje
Mmm Siendo literales lo que buscas es concatenar ¿No?-> $lng_.=$seccion;
Muchas gracias!!!, si funciona perfectamente.

Ya había solucionado el problema creando 2 array por las traducciones y usando str_replace pero usaré lo que tu me indicas.

Saludos :)
  #6 (permalink)  
Antiguo 02/07/2011, 07:02
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Duda con uso de variables

Mientras te funcione bien, pero cuanto más simple mejor jeje
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #7 (permalink)  
Antiguo 02/07/2011, 07:05
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Duda con uso de variables

Disculpa, surgió un problema.

Probé el código de la siguiente manera:

Código PHP:
Ver original
  1. $lng_hola = 'hola';
  2.  
  3. $seccion = 'hola';
  4.  
  5. echo $lng_.=$seccion;

y me funcionó a la perfección. Pero al agregarlo a mi página hice lo siguiente:

Código PHP:
Ver original
  1. $secciones = array('manga_del_mar_menor','paseos_por_barco','fiestas_por_la_noche','espana');
  2.  
  3. if(in_array($_GET['v'],$secciones)) {
  4.     $seccion = $_GET['v'];
  5.     $categoria = $lng_.=$seccion;
  6.    
  7. } else {
  8.     $seccion = '';
  9.     $categoria = "Error";
  10. }
  11. echo "<h1>$categoria</h1>";

y me imprime el texto del array secciones que corresponde a cada sección (manga_del_mar_menor, paseos_por_barco, etc).

Qué puede estar pasando?
  #8 (permalink)  
Antiguo 02/07/2011, 07:56
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Duda con uso de variables

En el segundo código que has añadido, ¿donde está definido el valor de $lng_?
¿Que valor tiene? Ejecutado tal cual al no tener valor debería mostrar error, y estando vacío sólo daría el elemento del array.

Y en el primer código no entiendo para nada el uso de la primera variable. No sé si lo copiaste mal.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #9 (permalink)  
Antiguo 02/07/2011, 08:08
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Duda con uso de variables

Cita:
Iniciado por IEKK Ver Mensaje
En el segundo código que has añadido, ¿donde está definido el valor de $lng_?
¿Que valor tiene? Ejecutado tal cual al no tener valor debería mostrar error, y estando vacío sólo daría el elemento del array.

Y en el primer código no entiendo para nada el uso de la primera variable. No sé si lo copiaste mal.
Lo que pasa es que tengo un primer código al principio que hace un include según el valor de la variable $_SESSION['idioma']. Si vale russian incluye el archivo russian.php, si vale spanish incluye el archivo spanish.php.

Cada uno de estos dos archivos tiene un valor distinto de las variables $lng_algo... por lo que al llamar, por ejemplo, a la variable $lng_espana, debería buscar en el archivo que se este incluyendo, según el SESSION, el valor de ésta y mostrarlo.

Me es un poco complicado explicarlo, espero que se haya entendido
  #10 (permalink)  
Antiguo 02/07/2011, 08:21
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Duda con uso de variables

No entiendo muy bien que es lo que haces. Por que aunque lo explicas el procedimiento sigues sin decirme donde defines la variable $lng_

Lo que sé es que dado el código que has añadido para que funcione debes asignarle un valor a la variable antes de concatenar.


Código PHP:
$lng_=''//la incio como vacía... pero ¿tú que valor le asignas?

$secciones = array('manga_del_mar_menor','paseos_por_barco','fiestas_por_la_noche','espana');
     
    if(
in_array($_GET['v'],$secciones)) {
        
$seccion $_GET['v'];
        
$categoria $lng_.=$seccion;
       
    } else {
        
$seccion '';
        
$categoria "Error";
    }
    echo 
"<h1>$categoria</h1>"
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #11 (permalink)  
Antiguo 02/07/2011, 17:35
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 14 años, 8 meses
Puntos: 8
Respuesta: Duda con uso de variables

oh!, no no, eso no es lo que estoy buscando.

Lo que necesito es mostrar dentro de la etiqueta <h1> la variable $lng_manga_del_mr_menor, cuando $seccion valga 'manga_del_mr_menor', $lng_paseos_por_barco cuando $seccion valga 'paseos_por_barco'. Y así según el valor de $seccion.

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 20:05.