TEMA 3 - PHP A FONDO

Estado
Cerrado para nuevas respuestas

rob1104

Super Moderador
Super Moderador
#1
TEMA 3 - PHP A FONDO

LECCION 2 – ALGO MÁS SOBRE ESTRUCTURAS DE CONTROL Y ENTRADA ESTANDAR DE DATOS.

Como había mencionado en la lección anterior, la instrucción if es de las mas importantes en cualquier lenguaje de programación, y como no va a serlo ya que mediante ella se pueden controlar todas las estructuras de control condicionales sin ningún problema, aunque claro, existen otras instrucciones para ahorrar líneas de código, pero eso no le quita poder a la instrucción if.

Ya hemos visto que hacer en caso de que haya 2 caminos a elegir (la condición sea verdadera o sea falsa), pero ¿Qué hacer si hay mas de dos caminos?. Hay veces que un programa se basa en condiciones y estas pueden tener 3 o mas respuestas, pues bien, para eso existe una instrucción muy importante y muy amiga de if, elseif.

La instrucción elseif permite especificar casos no definidos por if,es decir, mas condiciones que no están especificadas en el if principal, pero ojo, no se puede usar la instrucción elseif por si sola, siempre tiene que ir acompañada de un if, y puede prescindir de else sin ningún problema.

Diagrama


Pseudocodigo

Si a = 1

a vale 1

De lo contrario si a = 2

a vale 2

De lo contrario si a = 3

a vale 3

Sintaxis

Insertar CODE, HTML o PHP:
If(condicion)

{

 * *Código

}

elseif(otracondicion)

{

 * Código

}

elseif(otracondicion)

{

 *Código

}
Asi solo se ejecutaran los bloques de código que cumplan la condición, pasando por alto los códigos que no cumplan la condición.

Es muy sencillo, y está instrucción es de las mas usadas para programas lógicos, ya que como pueden notar, con elseif se puede crear código que seria mucho mas largo si se usaran solo if y else.

Para entender aun más su funcionamiento vamos a crear una pequeña calculadora, la cual hara las 4 operaciones básicas, será un programa muy sencillo, usaremos 3 variables y mediante if-elseif-else la crearemos sin ningún problema.

Insertar CODE, HTML o PHP:
<HTML>

 *<HEAD>

 * *<TITLE>Calculadora básica</TITLE>

 *</HEAD>

 *<BODY bgcolor="blue">

 * *<FONT NAME="Comic Sans MS" COLOR="white">

 * *<H2><CENTER>[B]Pequeña calculadora que nos permite realizar las cuatro operaciones

 * *básicas, solo escribe los numeros y selecciona la operacion.[/B]</CENTER></H2>

 * *<HR><HR>

 * *<CENTER>

 * *<FORM action="calcular.php" method="GET">

 * * *Primer numero: <INPUT type="text" name="pNumero">

 * * *Segundo numero: <INPUT type="text" name="sNumero">

 * * *Selecciona la operacion: <SELECT name="operacion" class="Select">

 * * * * * * * * * * * * * * * <OPTION value="sumar">Sumar</OPTION>

 * * * * * * * * * * * * * * * <OPTION value="restar">Restar</OPTION>

 * * * * * * * * * * * * * * * <OPTION value="multiplicar">Multiplicar</OPTION>

 * * * * * * * * * * * * * * * <OPTION value="dividir">Dividir</OPTION>

 * * * * * * * * * * * * * * </SELECT>

 * * *

 * * *<INPUT type="submit" name="boton" value="Procesar">

 * *</FORM>

 * *

 * *<?php

 * * *$num1=$_GET['pNumero'];

 * * *$num2=$_GET['sNumero'];

 * * *$operacion=$_GET['operacion'];

 * * *if($num1=="" && $num2=="")

 * * *{

 * * * *echo("No se puede procesar la operacion si los campos están vacios");

 * * *}

 * * *else

 * * *{

 * * * *if($operacion=="sumar")

 * * * *{

 * * * * *$sumar=$num1+$num2;

 * * * * *echo"El resultado la suma es $sumar";

 * * * *}

 * * * *elseif($operacion=="restar")

 * * * *{

 * * * * *$restar=$num1-$num2;

 * * * * *echo"El resultado de la resta es $restar";

 * * * *}

 * * * *elseif($operacion=="multiplicar")

 * * * *{

 * * * * *$multiplicar=$num1*$num2;

 * * * * *echo"El resultado de la multiplicacion es $multiplicar";

 * * * *}

 * * * *elseif($operacion=="dividir")

 * * * *{

 * * * * *$dividir=$num1/$num2;

 * * * * *echo"El resultado de la division es $dividir";

 * * * *}

 * * * *else

 * * * *{

 * * * * *echo("Ha ocurrido un error, puede ser por las sig. causas

 * * * * * * * *<ul>

 * * * * * * * * *
[*]No ha llenado los campos correctamente

 * * * * * * * * *
[*]Es imposible realizar el calculo, ej. Division entre 0
[*]

 * * * * * * * * *
[*]Ha escrito letras en vez de numeros

 * * * * * * * *
[/list]
");

 * * * *}

 * * *}

 * *?>

 * *</CENTER>

 *</BODY>

</HTML>
Aqui esta el resultado: calcular.php



PASAR VARIABLES ENTRE PÁGINAS.

En la mayoría de los proyectos (sobre todo si son proyectos grandes, como un foro :eek:) necesitaremos de varios archivos php y html, por lo cual habrá ocasiones en que necesitemos pasar variables entre paginas, o bien diseñar la pagina en html y luego pasar las variables de los formularios a un archivo php, hacerlo es muy sencillo, simplemente tendremos que identificar el archivo php donde se encuentre el código que queremos ejecutar, y después en el atributo action de la etiqueta form apuntaremos a ese archivo.

Por ejemplo tenemos nuestro archivo index.htm, en el cual tenemos un formulario, el código php lo tenemos aparte en el archivo procesar.php, simplemente localizamos la eitqueta <FORM> del archivo index.htm y la modificamos a que quede de ésta manera:

<FORM ACTION="procesar.php" method="GET">

Asi, al dar click al boton de tipo submit, este buscara el codigo en el archivo procesar.php en vez de en el mismo html.

Como ejemplo vamos a modificar nuestra calculadora, para separar el html del php y pasar las variables. Para ello vamos a crear dos archivos:

calculadora.htm

Insertar CODE, HTML o PHP:
<HTML>

 *<HEAD>

 * *<TITLE>Calculadora simple</TITLE>

 *</HEAD>

 *<BODY bgcolor="blue">

 * *<FONT NAME="Comic Sans MS" COLOR="white">

 * *<H2><CENTER>[B]Pequeña calculadora que nos permite realizar las cuatro operaciones

 * *básicas, solo escribe los numeros y selecciona la operacion.[/B]</CENTER></H2>

 * *<HR><HR>

 * *<CENTER>

 * *<FORM action="calculadora.php" method="GET">

 * * *Primer numero: <INPUT type="text" name="pNumero">

 * * *Segundo numero: <INPUT type="text" name="sNumero">

 * * *Selecciona la operacion: <SELECT name="operacion" class="Select">

 * * * * * * * * * * * * * * * <OPTION value="sumar">Sumar</OPTION>

 * * * * * * * * * * * * * * * <OPTION value="restar">Restar</OPTION>

 * * * * * * * * * * * * * * * <OPTION value="multiplicar">Multiplicar</OPTION>

 * * * * * * * * * * * * * * * <OPTION value="dividir">Dividir</OPTION>

 * * * * * * * * * * * * * * </SELECT>

 * * *

 * * *<INPUT type="submit" name="boton" value="Procesar">

 * *</FORM>

 *</BODY>

</HTML>


calculadora.php


Insertar CODE, HTML o PHP:
<HTML>

 *<HEAD>

 * *<TITLE>Resultado</TITLE>

 *</HEAD>

 *<BODY bgcolor="blue">

 *<FONT COLOR="white">

 *<CENTER><H1>

 *<?php

 * *$num1=$_GET['pNumero'];

 * *$num2=$_GET['sNumero'];

 * *$operacion=$_GET['operacion'];

 * *if($num1=="" && $num2=="")

 * *{

 * * *echo("No se puede procesar la operacion si los campos están vacios");

 * *}

 * *else

 * *{

 * * *if($operacion=="sumar")

 * * *{

 * * * *$sumar=$num1+$num2;

 * * * *echo"El resultado la suma es $sumar";

 * * *}

 * * *elseif($operacion=="restar")

 * * *{

 * * * *$restar=$num1-$num2;

 * * * *echo"El resultado de la resta es $restar";

 * * *}

 * * *elseif($operacion=="multiplicar")

 * * *{

 * * * *$multiplicar=$num1*$num2;

 * * * *echo"El resultado de la multiplicacion es $multiplicar";

 * * *}

 * * *elseif($operacion=="dividir")

 * * *{

 * * * *$dividir=$num1/$num2;

 * * * *echo"El resultado de la division es $dividir";

 * * *}

 * * *else

 * * *{

 * * * *echo("Ha ocurrido un error, puede ser por las sig. causas

 * * * * * * *<ul>

 * * * * * * * *
[*]No ha llenado los campos correctamente

 * * * * * * * *
[*]Es imposible realizar el calculo, ej. Division entre 0
[*]

 * * * * * * * *
[*]Ha escrito letras en vez de numeros

 * * * * * * *
[/list]
");

 * * *}

 * *}

 *?>

 *</CENTER></H1>

 *

 *[URL="http://calculadora.htm"]Realizar otra operacion[/URL]

 *</BODY>

</HTML>
Aqui esta el resultado: Calculadora

Con esto debe quedar mas claro.

Faltan dos lecciones del tema 3, una vez que comprendan esta leccion y estén resueltas todas sus dudas, encargaré el primer trabajo que quiero que realizen, combinando casi todo lo que hemos visto.

Dudas y preguntas en Ayuda Tema 3

Un saludo
 
Estado
Cerrado para nuevas respuestas
Arriba Pie