IMPLANTACION
DE
APLICACIONES
WEB
(IAW)
Apuntes
y
Ejercicios
Implantación de aplicaciones Web
PHP se ejecuta en el servidor (en clase nuestro ordenador sera como si fuera el ordenador para pruebas), para
ejecutar php se usa el programa XAMPP, XAMPP viene de LAMP y WAMP.
• LAMP:
• WAMP:
• XAMPP:
Linux – Apache- MySql – PHP
Windows – Apache- MySql – PHP
Windows/Linux – Apache – MySql – PHP – Pearl
php se ejecuta dentro del servidor y cuando un ordenador hace petición de una pagina web que contiene php,
este se ejecuta en el propio servidor y se envía como resultado dentro de las sentencias html que si interpreta
el navegador del ordenador que ha solicitado la pagina web.
Tras instalar XAMPP hay que activar Apache (xampp-control.exe) y se guardan los archivos php dentro de
una carpeta dentro de la carpeta \xampplite\htdosc\php_juan
En el navegador web se pondrá la ruta de la carpeta que contiene los archivos .php
http://localhost/php_juan/
Si no se Activa el Apache puede ser por culpa de algún servicio, en caso de tener Vmware instalado, en este
hay que desactivar en Edit – Preferences la opción Virtual machine sharing en 'disable'.
Para implementar php dentro de un html, se indica <?php al principio y una vez finalizadas las sentencias se
finaliza con ?>, seria algo asi <?php ...sentencias.... php ?>, cada sentencia se termina con un ; , el siguiente
es un ejemplo que escribe en pantalla "Mi primer programa php \n", el añadido \n es un salto de linea.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> </title>
</head>
<body>
<p>Ejercicio 1 PHP</p>
<?php
print "Mi primer programa php \n";
?>
</body>
</html>
Para imprimir un texto en pantalla se puede utilizar print o echo.
Para definir variables en php, se indica con $ seguido del nombre de la variable y con un = tras el cual se
pone a que equivale esa variable, puede ser un numero entero, una cadena o string, etc., un ejemplo de
diferentes variables:
<?php
$var_ent = 1927;
$var_real = 3.14159;
$var_string = 'Juan';
$var_bool1 = true;
$var_bool2 = false;
print "Variable entera $var_ent <br>";
print "Variable real $var_real <br>";
print "Variable de cadena $var_string <br>";
print "Variable booleana verdadero $var_bool1 <br>";
print "Variable booleana falso $var_bool2 ";
?>
La salida formateada concatena un texto con una variable.
<?php
$pi = 3.14159265;
$lc = 2*3*$pi;
print "La longitud de la circunferencia de radio 3 es: 2*3*$pi que es";
print 2*3*$pi;
print "<br> La longitud de la circunferencia de radio 3 es: $lc";
?>
Si la variable va entre “ ” (comillas dobles) junto con un texto, lo que se presenta es el contenido de la
variable, pero si va entre ' ' (Comillas simples) entonces se presenta como variable, si la variable se llama $pi
aparecerá $pi y no el contenido de la variable.
Concatenación de texto y variables.
<?php
$precio=3.95;
$tasa=0.21;
$iva=$precio*$tasa;
$total=$precio+$iva;
$nombre='Jon';
$dominio='@elorrieta,com';
$email=$nombre.$dominio;
print 'El iva asciende a '.$iva; /*print "El iva asciende a $iva \n";*/
print "<br> \n";
print 'El total asciende a '.$total;
print "<br> \n";
print $email;
print "\n";
?>
La concatenación es con un . (punto) entre un texto y la variable.
Concatenación con mascaras de Edición.
• Ajustar el numero de decimales con %.xf donde en lugar de x se pone el numero de decimales, por
ejemplo para 2 decimales seria %.2f y un ejemplo seria:
•
printf ('El total asciende a %.2f', $total); /*Salida formateada con una mascara de edicion a 2
decimales de 1 variable*/
printf ('Total %.2f iva %.2f', $total, $iva); /*Salida formateada con una mascara de edicion a 2
decimales de 2 variable*/
•
•
•
Para un ancho mínimo y carácter de relleno %xyd donde x es el carácter de relleno, y es el ancho o el
numero de caracteres mínimo que ocupa, así si ponemos %02d y el dato que va es 2, le colocara un 0
delante, si el dato es 12 como ocupa el mínimo indicado lo presenta tal cual y si fuera mayor lo
presenta tal cual, un ejemplo seria:
•
Para forzar a poner un entero con el signo se usa %+d, un ejemplo seria:
•
printf ('El ordenador opera entre %+d y %+d grados celsius', $min,$max); /*quiero que aparezca
el simbolo +*/
printf ('Fecha: %02d/%02d/%d', $dia,$mes,$anio); /*quiero que me aparezca 02/09/1987*/
Con printf hacemos una salida formateada, se pueden concatenar varias variables, como se muestra en el
ejemplo, en el caso de 2 variables el primer texto junto con %.2f (%.2f es una mascara de edición que esta
indicada por el símbolo % y .2f indica que el numero decimal al que se haga referencia salga con solo 2
decimales) hace referencia a la primera variable $total.
Ejemplo ajuste numero decimales:
<?php
$precio=3.95;
$tasa=0.21;
$iva=$precio*$tasa;
$total=$precio+$iva;
$nombre='Jon';
$dominio='@elorrieta,com';
$email=$nombre.$dominio;
print 'El iva asciende a '.$iva; /*print "El iva asciende a $iva \n";*/
print "<br> \n";
printf ('El total asciende a %.2f', $total);
print "<br> \n";
printf ('Total %.2f iva %.2f', $total, $iva);
print "<br> \n";
print $email;
print "\n";
?>
Ejemplo ancho mínimo:
<?php
$dia=2;
$mes=9;
$anio=1987;
printf ('Fecha: %02d/%02d/%d', $dia,$mes,$anio);
print "\n";
?>
Ejemplo poner signo:
<?php
$min=-30;
$max=40;
$anio=1987;
printf ('El ordenador opera entre %+d y %+d grados
celsius', $min,$max);
print "\n";
?>
Método de envió de datos, modo POST y GET.
➢ POST Para recoger muchos datos de un formulario (por ejemplo una casilla de comentarios).
➢ GET Para recoger pocos datos de un formulario (por ejemplo valores numéricos, palabras, etc.)
Para introducir texto, un formulario, etc. sin tener que meter continuamente print por cada linea dentro del
php, se utiliza el modo bloque con print <<<DATOS contenido DATOS; , de la siguiente manera:
<?php
DATOS;
?>
print <<<DATOS
aquí el contenido
(una tabla, un formulario, etc., sin tener que estar continuamente usando print)
Nota: DATOS: debe ir colocado completamente al lado izquierdo, si no falla el programa.
Comparación de las dos formas de hacerlo, para ver la diferencia:
<!-- forma estandar -->
<?php
print '<form action="mailto:
[email protected]" method="post">';
print "<p>Ordenando numeros</p>";
print "<p>Teclea un numero:";
print '<input type="text" name="numero1" size="4">';
print "Teclea otro numero:";
print '<input type="text" name="numero2" size="4"> </p>';
print '<input type="submit" value="Enviar numeros">';
print "</form>";
?>
<!-- forma bloque -->
<?php
print <<<DATOS
<form action="mailto:
[email protected]" method="post">
<p>Ordenando numeros</p>
<p>Teclea un numero:
<input type="text" name="numero1" size="4">
Teclea otro numero:
<input type="text" name="numero2" size="4"> </p>
<input type="submit" value="Enviar numeros">
</form>
DATOS;
?>
Tratamiento de un formulario con php y estructuras alternativas con IF
Ejercicio de muestra en el que se reciben 2 números y se entrega una respuesta con ellos ordenados.
Organigrama:
Inicio
$primero ← $_GET['n1']
$segundo ← $_GET['n2']
Recibidos los valores
$primero y $segundo
NO
SI
$primero
<
$segundo
“El orden correcto es
$segundo, $primero
“El orden correcto es
$primero, $segundo
FIN
HTML, Contenido del fichero: 10_ordenar1.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Ordenando numeros </title>
</head>
<body>
<form action="10_ordenar1.php" method="GET">
<p>Ordenando numeros</p>
<p>Teclea un numero:
<input type="text" name="n1" size="4">
Teclea otro numero:
<input type="text" name="n2" size="4"> </p>
<input type="submit" value="Enviar numeros">
</form>
</body>
</html>
PHP, Contenido fichero: 10_ordenar1.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Ordenando numeros </title>
</head>
<body>
<?php
$primero=$_GET['n1'];
$segundo=$_GET['n2'];
print "<p>Recibidos los valores $primero y $segundo </p>";
if($primero < $segundo)
{
print "<p>El orden correcto es $primero, $segundo</p>";
}
else
{
print "<p>El orden correcto es $segundo, $primero</p>";
}
?>
</body>
</html>
El mismo ejercicio utilizando POST es igual con la salvedad que donde pone GET se pone POST.
Ademas en la ventana del navegador aparecen cosas diferentes en la ventanita del navegador al devolver la
respuesta según se envié con POST o GET:
http://localhost/php_juan/10_ordenar1.php?n1=45&n2=35
http://localhost/php_juan/10_ordenar2.php
con GET sale arriba esto
con POST ya no sale lo que se envía
print_r() muestra información sobre una variable en una forma que es legible por humanos.
print "<pre>".print_r($_GET,true)."</pre>";
Tratamiento de un formulario con php y estructuras repetitivas con While
While (0 a n veces)
Ejemplo: Escribir los números del 1 al 10
Inicio
While (condición)
{
Sentencias;
}
NO
$cont ← 1
$cont
<=
10
SI
“$cont”
$cont ++
FIN
Contenido fichero 12_while1.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<title> Estructura while </title>
</head>
<body>
<h2> Estructura While </h2>
<?php
print"<pre>";;
$cont=1;
while($cont<=9)
{
print ("$cont"." - ");
$cont++;
}
print ("$cont");
print "<br>Se ha acabado";
print"</pre>";
?>
</body>
</html>
Ejemplo: Escribir los n
Comentarios de: implantacion de aplicaciones web - apuntes y ejercicios (0)
No hay comentarios