Pregunta:
Fecha: 22-04-2017 15:03:21
(En Español)
El problema es que no puedo obtener un valor realizada mediante sentencias if.
Ejemplo:
Es un pequeño ejemplo nada que ver con el código que tengo, pero a lo que voy es que no obtengo el resultado de $alerta y tampoco la de $mostrar...
Como podría yo obtener esos resultados fuera de las sentencias.. No se si me explico.
Gracias de ante mano. Votos: 0 - Respuestas: 5 - Vistas: 14 Compartir en: Google Facebook Twitter LinkedIn Link
Obtener el valor de una variable PHP dentro de dos IF anidados[Resuelta]
Hola buenas tardes, me podrían ayudar con un pequeño problema por favor.El problema es que no puedo obtener un valor realizada mediante sentencias if.
Ejemplo:
<?php
if( isset( $_POST['datos'] ) ) {
$dato_a = $_POST['a'];
$dato_b = $_POST['b'];
if( $dato_a != $dato_b ) {
$alerta = "Error";
$mostrar = mostrar();
}
}
echo plantilla($alerta, $mostrar);
?>
Es un pequeño ejemplo nada que ver con el código que tengo, pero a lo que voy es que no obtengo el resultado de $alerta y tampoco la de $mostrar...
Como podría yo obtener esos resultados fuera de las sentencias.. No se si me explico.
Gracias de ante mano. Votos: 0 - Respuestas: 5 - Vistas: 14 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 22-04-2017 20:02:49 usa else para verificar si se estan dando o no las condiciones para que se ejecute lo que esta dentro del if, el codigo dentro del else se ejecutaria si pasa todo lo contrario a lo que se evalua en el if Votos: 2 - Link respuesta
-
Fecha: 23-04-2017 04:01:34 Hola Abner, como comenta Ambiorix, debes utilizar una estructura ELSE en tu IF para controlar la situación en que isset( $_POST['datos']) retorna FALSE y el caso en el cual $dato_a y $dato_b sean iguales.
Sino, otra opción podría ser inicializar la variable $alerta antes de evaluar las condiciones y ejecutar la función mostrar() fuera de la estructura IF, veamos esto en código:
$alerta = ''; //inicializo la variable en vacío (o sea, no hay alertas) if (isset($_POST['datos'])) { $dato_a = $_POST['a']; $dato_b = $_POST['b']; if ($dato_a != $dato_b) { $alerta = "Error"; } } $mostrar = mostrar();//asumo que la función mostrar siempre debe ejecutarse (en el caso que no tenga nada que mostrar, no devolverá nada, no?) echo plantilla($alerta, $mostrar);
Saludos y buen código! Votos: 1 - Link respuesta -
Fecha: 24-04-2017 09:17:42 no se si entendi bien la pregunta. Porque no tratas de declarar las variables: $alerta y $mostrar fuera de las sentencias if
<?php $alerta = ""; $mostrar = ""; if( isset( $_POST['datos'] ) ) { 03. $dato_a = $_POST['a']; 04. $dato_b = $_POST['b']; 05. if( $dato_a != $dato_b ) { 06. $alerta = "Error"; 07. $mostrar = mostrar(); 08. } 09.} 10. 11.echo plantilla($alerta, $mostrar); ?>
de esa manera lo podras usar en otras partes del programa y consegir los resultados que fueron asignados en las sentencias if. Votos: 1 - Link respuesta -
Fecha: 24-04-2017 12:13:21 Declararar las variables fuera del if solo resulta si queremos que dichas variables existan en nuestro script no importa la condicion, pero si queremos que dichas variables existan solo si se cumple una condicion X sugiero seguir con el if() { }
respecto a la variable $alerta es un simple echo, esa no es problema
Lo que sugiero es que verifque tanto la funcion mostrar() y plantilla() fuera del if para que prueben que imprime o realiza los resultado deseados Votos: 0 - Link respuesta -
Fecha: 17-09-2019 08:27:26 Hola, me gustaría saber cual es la solución, pues tengo el mismo inconveniente.
Necesito rescatar el valor de una variable que está dentro de un if anidado.
código ejemplo
<?php if (prueba == test){ if( a == texto1 ) { $dato = 1; echo $dato; } elseif (a== texto2){ $dato = 2 ; echo $dato; }else{ echo "no hay datos"; } } if ( prueba2==test2){ echo $dato; } ?>
Lo que busco es poder usar el valor de $dato fuera de los dos primeros if. y mostrar $dato en el tercer if.
Nota: Solo obtengo los valores de $dato dentro del los dos primeros if, fuera de estos no.
- he intentado declarando la variable $dato fuera de los if, pero aún no tengo resultados.
Saludos Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
