Foros del Web » Programando para Internet » PHP »

Problema con los if

Estas en el tema de Problema con los if en el foro de PHP en Foros del Web. Hola, Os dejo aqui el codigo que hace el funcionamiento de una web que estoy haciendo pero tengo problemas con el code me salen aveces ...
  #1 (permalink)  
Antiguo 20/07/2006, 00:34
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 74
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema con los if

Hola,

Os dejo aqui el codigo que hace el funcionamiento de una web que estoy haciendo pero tengo problemas con el code me salen aveces el contenido de dos if juntos es por el tema de los elses y demas aver si m podeis echar un cable para repararlo o ponerlo en case.

Un saludo, n3m0

Código PHP:
<?
if ($sec == 1) {
            if (
$ss == 1) {include 'ofertas_ins1.php';}
                                    else {include 
'ofertas_ins.php';}}
            
if (
$sec == 2){
            if (
$ss == 1) { 
                if (
$send == 1) {include 'ofertas_mod2.php';}
                elseif (
$del == 1) {include 'ofertas_mod3.php';}        
                    else {include 
'ofertas_mod.php';}}
            
//if ($ss ==2) {include ' title.php';}
                    
else {include 'ofertas_bus.php';}}
if (
$sec == 3){

            if (
$ss == 1) {
                                if (
$send == 1) {include 'curr_mod2.php';}
                                    elseif (
$del == 1) {include 'curr_mod3.php';}        
                                else {include 
'curr_mod.php';}}
                                
                                if (
$s==1) {include 'curr_form.php';}
                                elseif (
$msg==1) {include 'curr_msg.php';} 
                                elseif (
$s==2) {include 'curr_form2.php';}
                                else {include 
'curr_bus.php';}}

if (
$sec == 4){ echo "No me muestro";}

if (
$sec == 5){ echo "Yo tampoco";}
  #2 (permalink)  
Antiguo 20/07/2006, 03:52
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
Está todo muy embarullao. ¿Por qué no utilizas switch en vez de tantos if's?
  #3 (permalink)  
Antiguo 20/07/2006, 03:54
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 74
Antigüedad: 11 años, 5 meses
Puntos: 0
jerkan es por eso que esta todo embarullado, por eso lo quiero poner bien xD voy a ver ke tal veo el switch.

Un saludo
  #4 (permalink)  
Antiguo 20/07/2006, 04:06
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
En mi opinión que he ordenado los if para verlo claramente parece estar todo bien, pero como comenta jerkan es mejor q utilices el swicth xq el exo de q te haga 2 if sólo puede okurrir si dentro de algún include se modifica la alguna de las variables como $sec...
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 20/07/2006, 04:56
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 74
Antigüedad: 11 años, 5 meses
Puntos: 0
Arg, he escrito este mensaje tres veces por problemas de luzaqui en las cercanias de Diagonal (barcelona).

Aver djreficul, yo tmb pense que estava bien pero me mostrava los dos else juntos, ahora con el case me sigue dango problemas en el sec=3

CODIGO ->

Código PHP:
case 3:     
            switch (
$ss){
                    case 
1: switch ($send){
                                case 
1: include 'curr_mod2.php';
                                    break;
                                }
                      switch (
$del){
                                case 
1: include 'curr_mod3.php';
                                    break;
                                }
                    default: include 
'curr_mod.php';
                    break;
                    }
             switch (
$s){
                    case 
1: include 'curr_form.php';
                        break;
                    case 
2: include 'curr_form2.php';
                        break;
                    }
            switch (
$msg){
                    case 
1: include 'curr_msg.php';
                        break;
                    }
            default: include 
'curr_bus.php';
                    break; 
Me muestra los dos default cuando entro via index.php?sec=3 :S
  #6 (permalink)  
Antiguo 20/07/2006, 05:04
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
A mi me parece lógico lo que te pasa. Yo haría lo siguiente, comprobar si existen las variables $ss, $s y $msg antes de hacer su respectivo switch con la función isset.
De todas maneras, si te pasan la variable $ss y no es igual a 1 te seguirá cargando los dos default. Yo me lo pensaría eso mejor. Un saludo.
  #7 (permalink)  
Antiguo 20/07/2006, 05:05
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 74
Antigüedad: 11 años, 5 meses
Puntos: 0
eske... si es iwal a 1 tmb los carga los dos :S

Respecto al isset ya se como funciona... pero aver para que usarlo sino le mando las variables ss y me sigue mostrando los dos default :S
  #8 (permalink)  
Antiguo 20/07/2006, 05:20
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Bueno, y te has asegurado de q no sobreescribe alguna variable alguno de los includes?
__________________
La muerte es un camino que todos debemos recorrer...
  #9 (permalink)  
Antiguo 20/07/2006, 05:34
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 74
Antigüedad: 11 años, 5 meses
Puntos: 0
Exclamación

Fue lo primero que hice,

Ya esta solucionado los he metido en cases los default i listos asi todo correcto.

Gracias ;)
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 19:50.