Foros del Web » Programando para Internet » PHP »

Código de un include

Estas en el tema de Código de un include en el foro de PHP en Foros del Web. Hola, Tengo una duda que me está llevando más tiempo de lo que a cualquier ser normal le llevaría, pero debo estar muy obstruído... Tengo ...
  #1 (permalink)  
Antiguo 24/03/2011, 02:48
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 16 años, 1 mes
Puntos: 1
Código de un include

Hola,

Tengo una duda que me está llevando más tiempo de lo que a cualquier ser normal le llevaría, pero debo estar muy obstruído...

Tengo un .php que en un momento dado llevo un include, así:

Código:
$tipos = '$ty == "2211"|$ty == "9331"';
include 'parse_tipos.php';
Correcto. Entonces en el include intento recuperar $tipos, para que lo incluya dentro de un if, pero no se lo traga, así:

Código:
if (`$tipos`) {
¿Cómo debo colocar ese $tipos dentro del include?

Gracias por anticipado.
  #2 (permalink)  
Antiguo 24/03/2011, 03:38
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Código de un include

A ver si he entendido bien.

Supongamos que tienes un archivo llamado tipos.php donde tienes esto:

Código PHP:
$tipos '$ty == "2211"|$ty == "9331"';
include 
'parse_tipos.php'
Dentro de parse_tipos.php quieres usar $tipos que es lo que has definido justo encima del include...es correcto?

Si esto es correcto, lo estás enfocando mal. Debería ser al revés, es decir:

parse_tipos.php:

Código PHP:
include 'tipos.php';
if(
$tipos)
{
blah blah blah

Es lo lógico, pues si quieres usar una variable contenida en otro archivo php debes incluir ese archivo php y no al revés.

Espero que lo entiendas y te sirva.

Un saludo!
  #3 (permalink)  
Antiguo 24/03/2011, 03:43
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Código de un include

Gracias bienpiyao,

Sí, más o menos es lo que tengo, pero precisamente de tu código no me funciona esto:

if($tipos)
{

Que es como lo tengo yo también... No sé por qué el $tipos directamente no lo interpreta...

He probado (`$tipos`), ($tipos)... y nada ¿?

Gracias!
  #4 (permalink)  
Antiguo 24/03/2011, 03:45
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Código de un include

Y no puedes pasar esa variable mediante un parámetro?? Quiero decir, con un campo oculto o través de un redireccionamiento con parámetros??
  #5 (permalink)  
Antiguo 24/03/2011, 03:48
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Código de un include

Es que es una parte del código dentro del archivo .php principal que se repite dentro de muchos elseif, por ello, por no repetirlo tantas veces, y cómo sólo cambia la parte ($tipos), que la puedo definir, si lo conseguimos, pues prefiero hacerlo mediante function o mediante include.

Mediante function no puedo porque necesito seguir recorriendo un xml, así que sólo puedo hacerlo mediante include...

El código en sí funciona bien porque si quito ese if lo recorre todo genial, pero yo quiero que me coja sólo unos tipos concretos...
  #6 (permalink)  
Antiguo 24/03/2011, 03:54
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Código de un include

Y creando una variable de sesión??
  #7 (permalink)  
Antiguo 24/03/2011, 03:58
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Código de un include

Mmmm, ahora que he vuelto a mirar tu código. Has probado a imprimir $tipos antes de llamar al include?? No sé, no he visto nunca esto:

Código PHP:
$tipos '$ty == "2211"|$ty == "9331"'
Y no sé si estará bien del todo.
  #8 (permalink)  
Antiguo 24/03/2011, 04:00
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Código de un include

Cita:
Iniciado por bienpiyao Ver Mensaje
Mmmm, ahora que he vuelto a mirar tu código. Has probado a imprimir $tipos antes de llamar al include?? No sé, no he visto nunca esto:

Código PHP:
$tipos '$ty == "2211"|$ty == "9331"'
Y no sé si estará bien del todo.
Es con lo que estoy a ver.. imprimirlo lo imprime bien, pero si lo meto dentro del if directamente no funciona... Voy a hacer que funcione primero directamente en el if, y luego si eso ya trato de sustituirlo... qué empanamiento!
  #9 (permalink)  
Antiguo 24/03/2011, 04:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Código de un include

No, sí sí, la clave está en el if ($tipos) {

No lo reconoce... es tan raro ;S
  #10 (permalink)  
Antiguo 24/03/2011, 04:08
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Código de un include

Mmmm, otra duda, si sabes de antemano qué valores puede tomar tipos (2211 o 9331) no sería más fácil hacer:

Código PHP:
if(($tipo == '2211') || ($tipo == '9331'))
{
blah blah blah

??
  #11 (permalink)  
Antiguo 24/03/2011, 04:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Código de un include

Bueno, pues a grandes males, grandes soluciones... aunque es un poco parche, no me puedo estancar mucho más aquí...

En el .php ppal coloco:

$tipo1 = "número1"; $tipo2 = "número2"; $tipo3 = "número3"; etc...

Y en el archivo include en lugar de hacer if ($tipos) { hago:

if ($ty == $tipo1||$ty == $tipo2||$ty == $tipo3) {

Así funciona perfectamente... lo haré de tal manera que complete el if con el nº de ty concretos y listos...

Gracias por la ayuda bienpiyao!
  #12 (permalink)  
Antiguo 24/03/2011, 04:36
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Código de un include

Bueno, no he sido de mucha, pero al menos lo has solucionado. Seguro que ya encontrarás la solución perfecta en otro momento ;).

Un saludo!

Etiquetas: include, 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 21:28.