La empresa sostenible: Principales Características, Barreras para su Avance y...
Guia N2 Proyectos Web Php
1. I.S.T. “F.P.G.V.”
Computación e Informática Curso: Proyectos Web
GUÍA DE LABORATORIO N° 02
OBJETIVOS: Conocer el lenguaje script del lado del servidor PHP, su sintaxis y el lenguaje en sí con ejemplos
prácticos para cada uno de los casos.
1. Qué es PHP
PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generación de páginas Web
dinámicas, similar al ASP de Microsoft o el JSP de Sun, incluido en páginas HTML y ejecutado en el servidor.
La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características específicas de sí
mismo. La meta del lenguaje es permitir rápidamente a los desarrolladores la generación dinámica de páginas.
No es un lenguaje de marcas como podría ser HTML, XML o WML. Está más cercano a JavaScript o a C, para
aquellos que conocen estos lenguajes.
2. ¿Cómo Funciona PHP?
A diferencia de Java o JavaScript que se ejecutan en el navegador, PHP se
ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el
servidor, como por ejemplo podría ser una base de datos. El programa PHP es
ejecutado en el servidor y el resultado es enviado al navegador. El resultado es
normalmente una página HTML pero también podría ser una página WML
(Wap).
Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su
navegador lo soporte, es independiente del navegador, sin embargo, para que
sus páginas PHP funcionen el servidor donde están alojadas debe soportar
PHP.
3. Sintaxis Básica de PHP:
<?PHP <? <% <script language=”PHP”
….. ….. ….. …..
….. ….. ….. …..
….. ….. ….. …..
?> ?> %> </script>
4. Ejemplos prácticos:
Ejemplo1.php
<HTML>
<HEAD>
<TITLE>Ejemplo PHP</TITLE>
</HEAD>
<BODY>
<?PHP
echo "Hola, este es un ejemplo con PHP!";
?>
</BODY>
</HTML>
Desarrollado por: José L. Ponce Segura www.redtacna.net Prac02 (1 de 7)
2. I.S.T. “F.P.G.V.”
Computación e Informática Curso: Proyectos Web
Ejemplo2.php ¿Sabias que?
<HTML>
<HEAD> Como en C, terminando cada
<TITLE>Variables y Comentarios en PHP</TITLE> sentencia las instrucciones se
separan con un punto y coma.
</HEAD>
Para que el servidor envié tex to
<BODY> utilizaremos la instrucción echo,
<?PHP aunque también podemos utiliza r
$myvar = "VIGIL n"; // Esto es un comentario tipo c++ para una línea print.
$Myvar = "COMPUTO n"; Este símbolo $ le indica a PHP que
DEFINE ("curso", "Proyectos Web"); // Declarando una CONSTANTE es una variable, nosotros podemos
//Esto imprimirá VIGIL asignarle un texto a esta vari able,
echo $myvar; pero también pueden contener
//Esto imprimirá COMPUTO números o tablas (arrays).
El uso de la barra invertida, como
ECHO $Myvar;
en n, no es obligatorio, pero
// Esto imprimirá lo que contenga la constante curso ayuda a la depuración del cód igo
echo curso; que enviamos al navegador,
/* PHP distingue entre mayúsculas y minúsculas, además del n existen otros usos.
por lo que no es lo mismo $myvar que $Myvar */
?>
</BODY>
</HTML>
Ejemplo3_1.php
¿Sabias que?
<HTML>
<HEAD> Operadores de Incremento y
<TITLE> Ejemplo de PHP: Operadores Aritméticos</TITLE> Decrementos
</HEAD> Los operadores ++ y -- escritos al
<BODY> lado de una variable producen
<?PHP incrementos o decrementos de
$a=8; una unidad en el valor de la
misma.
$b=3;
Así mismo, los operadores +=n y -
echo $a + $b, "<BR>"; = producen incrementos o
echo $a - $b, "<BR>"; decrementos de n unidades en el
echo $a * $b, "<BR>"; valor de la variable.
echo $a / $b, "<BR>"; Operadores de preincremento
$a++; ++$A y --$A
echo $a, "<BR>"; Este operador realiza el
$b--; incremento de la variable en una
echo $b, "<BR>"; unidad (+1 ó -1) y luego ejecuta el
?> contenido de la instrucción
$A+=n y $A-=n
</BODY> Este operador realiza el
</HTML> incremento de la variable en n
Ejemplo3_2.php unidades (+n ó -n) y luego ejecuta
<HTML> el contenido de la instrucción.
<HEAD> Operadores de
<TITLE>Ejemplo de PHP: Comparación</TITLE> post-incremento
$A++ y $A--
</HEAD>
Cuando los operadores ++ ó --
<BODY> están situados a la derecha de la
<?PHP variable los incrementos no se
$a=8; producen hasta la instrucción
$b=3; siguiente
$c=3;
echo $a == $b, "<BR>";
echo $a != $b, "<BR>";
echo $a < $b, "<BR>";
echo $a > $b, "<BR>";
echo $a >= $b, "<BR>";
echo $a <= $b, "<BR>";
?>
</BODY>
</HTML>
Ejemplo3_3.php
<HTML>
<HEAD>
<TITLE>Ejemplo de PHP: Lógicos</TITLE>
</HEAD>
<BODY>
<?PHP
$a=8;
Desarrollado por: José L. Ponce Segura www.redtacna.net Prac02 (2 de 7)
3. I.S.T. “F.P.G.V.”
Computación e Informática Curso: Proyectos Web
$b=3;
$c=3;
echo ($a == $b) && ($c > $b), "<BR>";
echo ($a == $b) || ($b > $c), "<BR>";
echo ($b <= $c), "<BR>";
?>
</BODY>
</HTML>
Ejemplo4_1.php
<HTML> ¿Sabias que?
<HEAD>
<TITLE>Condicionales If...else</TITLE>
El único operador de cadenas que
</HEAD> existen es el de concatenación, el
<BODY> punto.
<?PHP
$nombre="Juan";
$nota =9;
if ($nota>= 11)
{
echo "Muy bien estas Aprobado " .$nombre;
}
else
{
echo "Lo siento ha Desaprobado " .$nombre;
}
?>
</BODY>
</HTML>
Ejemplo4_2.php
<HTML>
<HEAD>
<TITLE>Condicionales If...elseif...else</TITLE>
</HEAD>
<BODY>
<?PHP
$nombre="Juan";
$nota=8;
if ($nota<7)
{
echo "Lo siento está Ud. Desaprobado " .$nombre;
}
elseif ($nota>=11)
{
echo "Muy bien está Ud. Aprobado " .$nombre;
}
else
{
echo "Deberá dar examen de Aplazados " .$nombre;
}
?>
</BODY>
</HTML>
Ejemplo4_3.php ¿Sabias que?
<HTML>
<HEAD> Break: Al evaluar y comparar cada
<TITLE>Condicionales switch...case</TITLE> expresión de la sentencia CASE
</HEAD> con la expresión que evaluamos, si
<BODY> encontramos una condición
<?PHP verdadera debemos ejecutar un
$a=8; BREAK para que la sentencia
$b=2; SWITCH no siga buscando en la
/* Asignamos valores 1,2,3 ó 4 a la variable $op lista de CASE.
para suma, resta, multip, y div. respectivamente */
$op=6;
switch ($op) {
case 1:
echo $a + $b;
break;
case 2:
Desarrollado por: José L. Ponce Segura www.redtacna.net Prac02 (3 de 7)
4. I.S.T. “F.P.G.V.”
Computación e Informática Curso: Proyectos Web
echo $a - $b;
break;
case 3:
echo $a * $b;
break;
case 4:
echo $a / $b;
break;
default:
// código a ejecutar por defec to si no se cumple ninguna
condición
echo "Operación no válida";
}
?>
</BODY>
</HTML>
Ejemplo4_4.php
<HTML> ¿Sabias que?
<HEAD>
<TITLE>Bucles: ...While</TITLE>
La sentencia WHILE ejecuta un
</HEAD>
bloque de código mientras se
<BODY> cumpla una determinada
Inicio <BR> condición.
<?PHP Podemos romper un bucle WHILE
$i=1; utilizando la sentencia BREAK.
While ($i<=10) Do…While: Esta sentencia es
{ similar a WHILE, salvo que con
echo "El valor de i es ", $i, "<BR>"; esta sentencia primero ejecutamos
// Luego de pruebe Ud. Quitando los siguientes comentarios el bloque de código y después se
/* if ($i==3){ evalúa la condición, por lo qu e el
bloque de código se ejecuta
echo "Aquí nos salimos", "<BR>"; siempre al menos una vez.
break;
} */ ¿Sabias que?
$i++;
} El bucle FOR resulta muy útil
?> cuando debemos ejecutar un
Final... <BR> bloque de código a condición de
</BODY> que una variable se encuen tre
</HTML> entre un valor mínimo y otro
máximo.
Ejemplo4_5.php
<HTML> Conoces el Foreach….
<HEAD> foreach ( array as var ){}
<TITLE>Ejemplo de PHP: For</TITLE> La función foreach solo es
</HEAD> aplicable a un array tanto escalar
<BODY> como asociativo.
Inicio <BR> Ejemplo:
<?
<?PHP $a=array("a","b","c","d","e");
For($i=1; $i<=10; $i++) $b=array(
{ "uno" =>"Primer valor",
echo "imagen $i <img src=imagen.gif><BR>"; "dos" =>"Segundo valor",
} "tres" =>"Tercer valor",
?> );
Final... <BR> foreach($a as $pepe) {
</BODY> echo $pepe,"<br>";
</HTML> };
foreach($b as $pepe) {
Ejemplo5.php echo $pepe,"<br>";
<HTML> };
<HEAD> ?>
<TITLE>Ejemplo de PHP: Array Unidimensional</TITLE>
</HEAD>
<BODY>
<?
// Crearé dos arrays escalares, $a y $b
$a[0]="Domingo"; $a[1]="Lunes";
// si pongo corchetes vacios va añadiendo indices automaticamente
$a[]="Martes"; #equivale a escribir $a[2]
$a[]="Miércoles"; #equivale a escribir $a[3]
$a[]="Jueves"; #equivale a escribir $a[4]
$a[]="Viernes";
Desarrollado por: José L. Ponce Segura www.redtacna.net Prac02 (4 de 7)
5. I.S.T. “F.P.G.V.”
Computación e Informática Curso: Proyectos Web
$a[]="Sábado";
echo "Al pedir que imprima $a[1] escribirá el 2º elemento:
",$a[1],"<br>";
// puedo inicial otro array sin indicar índices ¿Sabias que?
// PHP empezara a contar a partir de CERO
Las tablas (o Array en inglés), son
$b[]="Domingo"; muy importantes en PHP, ya que
$b[]="Lunes"; generalmente, las funciones que
$b[]="Martes";$b[]="Miércoles";$b[]="Jueves"; devuelven varios valores, como las
$b[]="Viernes";$b[]="Sábado"; funciones ligadas a las bases de
echo "Al pedir que imprima $b[4] escribirá el 5º elemento: datos, lo hacen en forma de tabla.
",$b[4],"<br>"; Tenemos otra forma de asignar
// ahora un array asociativo (un nombre y un valor) elementos a una tabla, pero un a
$c["Primero"]="Domingo";$c["Segundo"]="Lunes";$c["Tercero"]="Martes"; forma más formal es utilizando la
función array.
$c["Cuarto"]="Miércoles";$c["Quinto"]="Jueves";$c["Sexto"]="Viernes";
<?php
$c["Septimo"]="Sábado"; $esp = array("taps", "sgc", "cc",
echo "Al pedir que imprima ", $c["Tercero"], " escribirá: "aiia");
",$c["Tercero"],"<br>"; //contamos el número de elemen tos
?> de la tabla
</BODY> $n=count($esp);
</HTML> //imprimimos todos los element os de
Ejemplo6_1.php la tabla
for ($i=0; $i < $n; $i++)
<HTML> {
<HEAD> print ("La Especialidad $i es $esp[$i]
<TITLE>Ejemplo de PHP: Funciones</TITLE> <BR>n");
</HEAD> }
<BODY> ?>
<?PHP
function media($a, $b)
{
$med=($a+$b)/2;
¿Sabias que?
return $med;
} Funciones:
$num1=13; Para declara una función debemos
$num2=11; utilizar la instrucción functi on
echo("La media aritmética de $num1 y $num2 es". media($num1,$num2)); seguido del nombre que le vamo s
?> a dar, y después entre parénte sis
</BODY> la lista de argumentos separad os
</HTML> por comas, aunque también habr á
Ejemplo6_2.php funciones que no recojan ningú n
argumento.
<HTML>
<HEAD> function nombre_de_funcion (ar g_1,
<TITLE>Ejemplo de PHP: Funciones</TITLE> arg_2, ..., arg_n)
</HEAD> {
<BODY> bloque de código
<? }
function Factorial($nValue)
Existe una manera de terminar la
{
ejecución de la función aunque aún
if ($nValue <=1) haya código por ejecutar, mediante
{ el uso de la instrucción return
return 1; terminamos la ejecución del código
} de una función y devolvemos un
else valor. Podemos tener varios return
{ en nuestra función, pero por l o
return Factorial($nValue-1)*$nValue; general, cuantos más return
} tengamos menos reutilizable se rá
nuestra función.
}
Parámetros de las funciones
$numero=5; Existen dos formas de pasar lo s
echo("EL factorial de $numero es ". Factorial($numero)); parámetros a una función, por
?> valor o por referencia.
</BODY> En PHP, por defecto, las variables
</HTML> se pasan por valor. Para hacer lo
Ejemplo7.php por referencia debemos antepon er
un ampersand (&) a la variable.
<HTML>
<HEAD>
<TITLE>Ejemplo de PHP: Funciones Varias</TITLE>
</HEAD>
<BODY>
<?PHP
$vigil="Instituto Superior Tecnológico Vigil";
Desarrollado por: José L. Ponce Segura www.redtacna.net Prac02 (5 de 7)
6. I.S.T. “F.P.G.V.”
Computación e Informática Curso: Proyectos Web
$curso="Proyectos Web";
$docente="Ponce Segura, José Luis";
$pension=110;
$frase1="Pablito, aúnnoheencontradounabarraespaciadoraabuenprecio…,
adios Pablito";
$frase2="¿Qué le dice un GIF a un JPG? ¡Anímate, hombre!"; ¿Sabias que?
echo "FUNCIONE DE SALIDA Printf :", "<BR>";
printf($pension . "<Br>"); Cuidado: Algunas funciones son
printf("%f", $pension); printf("<Br>"); sensibles a mayúsculas y
printf("S/. %7.f",$pension); printf("<Br><BR>"); minúsculas.
echo "OTRAS FUNCIONES :", "<BR>";
echo "Longitud de var. vigil: ", strlen($vigil), "<BR>";
echo "Conversiones: ", strtoupper($docente), "<BR>";
echo "Eliminar espacios n blanco: ", trim(" Aprende PHP "), "<BR>";
echo "Extracción de subcadenas: ", substr($curso,13,8), "<BR>";
echo "Modificación de cadenas, Invertir: ", strrev($itel), "<BR>";
echo "Modificación de cadenas, Reemplazar: ",
str_replace("Pablito","Jaimito",$frase1), "<BR>";
echo "Buscar cadena B dentro de cadena A, devolver A apartir de B: ",
strstr($frase2,"?"), "<BR>";
echo "Buscar la subcadena B dentro de la cadena A y devuelve la
posición: ", strrpos($docente,","), "<BR>";
?> ¿Sabias que?
</BODY> Formularios:
</HTML> Todo formulario comienza con l a
Ejemplo8_1.php etiqueta <FORM
<HTML> ACTION="lo_que_sea.php"
<HEAD> METHOD="post/get">. Con
<TITLE>Ejemplo de PHP: Formulario de Envío de datos</TITLE> ACTION indicamos el script que va
</HEAD> procesar la información que
recogemos en el formulario,
<BODY> mientras que METHOD nos indica
//Luego de terminar biblioteca.php, desmarque los sgtes. comentarios si el usuario del formulario va ha
// <? include("biblioteca.php") ?> enviar datos (post) o recogerl os
// <? Encabezado() ?> (get). La etiqueta <FORM> indi ca
<form action='ejemplo8_2.php' method='post'> el final del formulario.
Escribe tus Nombres:
<input type='text' name='nombre' value='' size=15> A partir de la etiqueta <FORM>
<br> vienen los campos de entrada d e
Escribe tus Apellidos: datos que pueden ser:
<input type='text' name='apellido' value='' size=15>
Cuadro de texto:
<br> <input type="text" name="nombre"
Escribe tu clave: size="20" value="jose">
<input type='password' name='clave' value=''>
<br> Cuadro de texto con barras de
Elige un Turno:<br> desplazamiento:
<input type='radio' name='turno' value='Mañana'>Mañana</br> <textarea rows="5"
<input type='radio' name='turno' value='Tarde'>Tarde</br> name="descripcion" cols="20">Es de
<input type='radio' name='turno' value='Noche'>Noche</br> color rojo</textarea>
Elige los Cursos:<br>
Casilla de verificación:
<input type='checkbox' name="pai" value="Proyectos Web">Proy. Web<br> <input type="checkbox"
<input type='checkbox' name="t2" value="Taller II">Taller II<br> name="cambiar" value="ON">
<input type='checkbox' name="lnx" value="Linux">Linux<br>
¿Qué Lenguajes de programación te gusta más?<br> Botón de opción:
<select name="lenguaje"> <input type="radio" value="azul"
<Option>Visual Basic .NET</option> checked name="color">
<Option>Delphi</option>
<Option>PHP</option> Menú desplegable:
<select size="1&qu
<Option>C++</option>
class="codigo"><select size="1"
<Option>ASP .NET</option> name="dia">
<Option>Java</option> <option selected
</select> value="lunes">lunes</option>
<br> <option>martes</option>
Comentarios <option
<br> value="miercoles">miercoles</option>
<textarea rows=5 cols=50 name='texto'></textarea> </select>
<br>
<input type="submit" value="enviar"> Botón de comando:
<input type="submit" value="enviar"
<input type="reset" value="borrar"> name="enviar">
// Desmarque el sig. comentario cuando finalice biblioteca.php
// <? Pie() ?>
Desarrollado por: José L. Ponce Segura www.redtacna.net Prac02 (6 de 7)
7. I.S.T. “F.P.G.V.”
Computación e Informática Curso: Proyectos Web
</BODY>
</HTML>
Ejemplo8_2.php
<HTML>
<HEAD>
<TITLE>Ejemplo de PHP: Mostrar Datos del Formulario</TITLE>
</HEAD>
<BODY>
<?
echo "Nombres: ", $_POST['nombre'],"<br>";
echo "Apellidos: ", $_POST['apellido'],"<br>";
echo "Password: ", $_POST['clave'],"<br>";
echo "Turno: ", $_POST['turno'],"<br>";
echo "Cursos elejidos:", "<br>";
echo $_POST['pai'],"<br>";
echo $_POST['t2'],"<br>";
echo $_POST['lnx'],"<br>";
echo "Lenguaje de Programación favorito: ",
$_POST['lenguaje'],"<br>";
echo "Comentarios:", "<br>";
echo $_POST['texto'],"<br>";
?>
</BODY>
</HTML>
Biblioteca.php
<? function Encabezado() { ?> ¿Sabias que?
<CENTER><img src="images/header.gif"><BR>
Cómo ahorrarnos líneas de código:
<font size=6 face="Times" color="#0000ff">Proyectos Web</Font><br>
(Insertando ficheros externos)
<hr width=75%>
<? } ?> Por lo general, todos nuestros
<? function Pie() { ?> script tienen partes de código
iguales, las funciones include() y
<CENTER><hr width=50%> require() nos van ahorrar muchas
<font size=2 face="Arial" color="#0000CC">Carrera: Computación e de estas líneas de código. Amb as
Informática</font><br> funciones hacen una llamada a un
<font size=2 face="Arial" color="#0000CC">Docente: José Luis Ponce determinado fichero pero de do s
Segura</font> maneras diferentes, con include(),
insertamos lo que contenga el
<hr width=50%></center> fichero que llamemos de manera
</BODY> literal en nuestro script, mie ntras
</HTML> que con require(), le decimos que
<? } ?> el script necesitará parte de código
<? function Otra() { ?> de se encuentra en el fichero que
<h2>Esto es otro temilla..bla..bla..bla</h2> llama require().
<? } ?>
uso_biblioteca.php
<? include("biblioteca.php") ?>
<? Encabezado() ?>
Aquí iría el contenido de la página<br>
....................<br>
...........................<br><br><br>
<? Pie() ?>
Tarea Encargada:
Mejore la presentación de los ejemplos, así también utilice las funciones Encabezado() y Pie() del script
biblioteca.php en los ejemplos de las presente práctica.
Investigue Usted sobre la estructura Do...While, luego realice el ejercicio4_4.php utilizando Do...While.
Realice al menos 3 ejemplos de la presente práctica, insertando controles en formularios para el ingreso de datos
y luego procesarlo y mostrar resultados: Ejemplo: En el script Ejemplo4_3.php realiza operación (+, -, *, /) para
2 números, pero los 2 números son fijos, AHORA haciendo uso de controles deberá ingresar esos 2 números vía
teclado. Consulte al profesor
Investigue Usted sobre los array Bidimensionales y Multidimensionales con un ejemplo respectivamente.
Integre 3 script PHP en un solo script llamado integrado.php, el cual mostrará todo en una sola presentación.
Desarrollado por: José L. Ponce Segura www.redtacna.net Prac02 (7 de 7)