Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Operadores condicionales
El operador if
If ... else
<?
El operador condicional tiene una $a=3;
interesante ampliación. En # observa que ponemos la etiqueta de fin de script
conjunción con else permite # después de los dos puntos
añadir instrucciones que sólo if ($a==5): ?>
serían ejecutadas en caso de no <!-- Aquí estamos poniendo HTML puro
cumplirse la condición. no estamos dentro del script PHP //-->
Esta nueva opción se habilita <H1>Esto no es PHP. A es igual 5</H1>
mediante la siguiente sintaxis:
<!-- en la linea siguiente a este comentario
if(condicion){ volveremos a PHP para insertar el else seguido de dos puntos
... instrucciones... y cerramos de nuevo el script con ?>//-->
... a ejecutar cuando <? else: ?>
se cumple la condición
} else {
<!-- Aquí más HTML para el (else)
... instrucciones...
caso de que no se cumpla la condición //-->
... a ejecutar cuando NO
se cumple la condición <H2>Esto no es PHP. Es el resultado del ELSE</H2>
}
<!--
permitiendo también la sintaxis volveremos a PHP para insertar en endif que indica el fin del if //-->
alternativa :, endif, aunque en <? endif; ?>
este caso hay que hacer una
precisión -puedes verla aquí
debajo– la llave de cierre que iba
delante de else se elimina y no es ejemplo28.php
sustituida por ningún caracter ni
símbolo especial.
El operador condicional ternario
<?if(condicion): ?>
... instrucciones...
... a ejecutar cuando Ejemplo con a=2 Ejemplo con a=8
se cumple la condición2
sin cumplirse condición1
} else { Ejercicio nº 19
... instrucciones... Diseña un formulario –ejercicio19a.php- con un input tipo texto en el que puedas escribir
... a ejecutar cuando NO números. Al pulsar el botón de enviar debe llamar a un script –ejercicio19b.php- que debe
se cumple ni la condición1
decirnos si el número enviado fue: positivo, cero o negativo.
ni la condicion2
A la página ejercicio19b.php añádele un enlace HTML que permita volver a la página
} anterior.
Condicionales anidados
...instrucciones
}
}else{ Ejercicio nº 21
... instrucciones...
...instrucciones... Amplía el ejercicio anterior a las dos preguntas que se formulaban en el nº10. Ahora
} deberíamos saber si ha sido correcta o no la respuesta a cada una de las preguntas.
Puedes llamar ejercicio21a.php y ejercicio21b.php a los documentos que crees para este
Observa que todo el bloque if..
else... marcado en azul se cierra ejercicio.
antes de abrir la opción else
marcada en marrón. Es
obligatorio que así sea. De igual
forma, podríamos insertar bloques Restringir accesos
sucesivos hasta llegar a crear una
estructura tan amplia como fuera Las variables predefinidas $_SERVER['HTTP_REFERER'] (en el caso de PHP 4.1.0 o
necesaria. superior) y $HTTP_SERVER_VARS['HTTP_REFERER'] (en todos los casos) recogen la
ruta completa de la página desde la que hemos accedido a la actual.
Como ves, todo un mundo de
posibilidades.
<?
Una aplicación # el condicional if estable como condición
a la seguridad # que el acceso a este script proceda de la direccion indicada
# en este caso hemos puesto como condición que ese valor
En páginas anteriores hemos # sea la dirección de esta página
hecho algunas alusiones a la if($_SERVER['HTTP_REFERER']=="http://localhost/cursoPHP/php37.php"){
seguridad. # si accedemos desde esta página, el enlace que tienes aqui debajo
# veremos que aparece este print, es decir se visualizaría todo
Decíamos que los envíos de
# lo contenido antes del else
información por medio de los
formularios no eran seguros print "ejecuto sin problemas el script";
porque, dada la transparencia de }else{
su código, pueden ser # si accedes desde un sitio diferente te aparecerá este mensaje
reproducidos y utilizados desde # puedes probar escribiendo en tu navegador
cualquier otro sitio distinto a # http://localhost/cursoPHP/ejemplo35.php
nuestro servidor. # y comprobarás que aparece este mensaje
"No puedes ver esta pagina";
Una sencillo condicional puede
exit;
resolver ese problema. Lo puedes
}
ver en el ejemplo que tienes aquí a
la derecha. ?>
La función exit()
PHP dispone de una función exit()
ejemplo35.php
muy útil a los efectos del
comentario anterior. Anterior Indice Siguiente