Foros del Web » Programando para Internet » PHP »

2 condiciones if

Estas en el tema de 2 condiciones if en el foro de PHP en Foros del Web. Hola a todos, tengo un problema que no sé como solucionar. Os explico brevemente: tengo una página php que hace de plantilla para varios dominios. ...
  #1 (permalink)  
Antiguo 22/03/2010, 11:46
Avatar de garescal  
Fecha de Ingreso: julio-2008
Ubicación: en canarias
Mensajes: 27
Antigüedad: 15 años, 9 meses
Puntos: 0
2 condiciones if

Hola a todos, tengo un problema que no sé como solucionar.
Os explico brevemente:
tengo una página php que hace de plantilla para varios dominios.
dependiendo el dominio quiero salga una imagen (.swf) u otra.
Hay dos dominios que son diferentes y por tanto deben mostrar imagenes personalizadas diferentes al resto.
Este es el código
**********************************
<?

if ($concesionario == 'domalonso') {
?>


<object ..... aqui va el codigo del swf CASO 1</object>

<? }

if ($concesionario == 'cuatromocion') {
?>


<object ..... aqui va el codigo del swf CASO 2</object>

<? }

else { ?>

<object ..... aqui va el codigo del swf si no es ninguno de los casos anteriores</object>

<? } ?>
*************************************************
La cuestión es que dependiendo de como posiciones el trozo de código salen los dos swf a la vez, cosa que no debería pasar.

Debería de ser así:
- Si es domalonso sale el primer SWF
- Si es cuatromocion sale el segundo SWF
- Si no es ninguno de los dos sale el tercer SWF (el del ELSE)


Gracias
  #2 (permalink)  
Antiguo 22/03/2010, 11:49
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: 2 condiciones if

Quizás sea más legible con un switch:
Código PHP:
Ver original
  1. switch ($concesionario) {
  2.     case 'dominio1':
  3.         // Código
  4.         break;
  5.     case 'dominio2':
  6.         // Código
  7.         break;
  8.     default:
  9.         // Código
  10. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 22/03/2010, 12:06
Avatar de garescal  
Fecha de Ingreso: julio-2008
Ubicación: en canarias
Mensajes: 27
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: 2 condiciones if

Gracias David por la prontitud y el interés...
se me olvidó decir que no soy programador, soy diseñador y no tengo ni idea, trasteo con alguna cosilla php pero muy básico...
Podrías ponérmelo mas sencillo para una mente poco adelantada en programación???
  #4 (permalink)  
Antiguo 22/03/2010, 13:18
Avatar de garescal  
Fecha de Ingreso: julio-2008
Ubicación: en canarias
Mensajes: 27
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: 2 condiciones if

solucionado
Gracias David ... al final lo saqué como pude y funciona!!!!
hice esto


<?
switch ($concesionario)
{
case domalonso:
echo'
$concesionario == domalonso;
<object classid="codigo swf 1"</object>';
break;

case cuatromocion:
echo'
$concesionario == cuatromocion;
<object classid="codigo swf 2"</object>';
break;

default:
echo'<object classid="codigo swf 3"</object>';
}
?>
  #5 (permalink)  
Antiguo 22/03/2010, 13:26
Avatar de djcandido  
Fecha de Ingreso: junio-2009
Ubicación: San Salvador
Mensajes: 50
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: 2 condiciones if

tienes que usarlo asi:

<?
if ($concesionario == 'domalonso') {

echo("<object ..... aqui va el codigo del swf CASO 1</object>");

}elseif($concesionario == 'cuatromocion'){

echo("<object ..... aqui va el codigo del swf CASO 2</object>");

}else{

echo("<object ..... aqui va el codigo del swf si no es ninguno de los casos anteriores</object>");

}
?>
te recomiendo que utilices comillas dobles (" ") en vez de comillas simples(' ') para comparar.
  #6 (permalink)  
Antiguo 22/03/2010, 17:27
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: 2 condiciones if

Cita:
Iniciado por garescal Ver Mensaje
solucionado
Gracias David ... al final lo saqué como pude y funciona!!!!
hice esto


<?
switch ($concesionario)
{
case domalonso:
echo'
$concesionario == domalonso;
<object classid="codigo swf 1"</object>';
break;

case cuatromocion:
echo'
$concesionario == cuatromocion;
<object classid="codigo swf 2"</object>';
break;

default:
echo'<object classid="codigo swf 3"</object>';
}
?>
No entiendo cómo podría funcionar ese código con tales errores. Lo correcto sería:

Código PHP:
<?php
switch ($concesionario) {    
  case 
'domalonso':
    
$var '<object...></object>';
  break;
  case 
'cuatromocion':
    
$var '<object...></object>';
  break;

  default:
    
$var '<object...></object>';
  break;
}
echo 
$var;
?>
Puedes también hacer el echo directamente desde cada case, pero obviamente de una forma correcta.

Cita:
Iniciado por djcandido Ver Mensaje
te recomiendo que utilices comillas dobles (" ") en vez de comillas simples(' ') para comparar.
¿Algún motivo especial?.

Etiquetas: condiciones
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 07:01.