MANUAL PHP

56
BEHEG 2012 1 Elaboro: Benjamín Hernández García "MIGUEL LERDO DE TEJADA" CONTROL DE AVANCE PROGRAMÁTICO SEMANAL BACHILLERATO TECNOLÓGICO AGOSTO 2012 INFORMATICA CURSO BASICO PARA CREAR PÁGINAS DINAMICAS CON PHP Y MYSQL INSTRUCTOR: LIC. BENJAMÍN HERNÁNDEZ GARCÍA AGOSTO DE 2012

Transcript of MANUAL PHP

BEHEG 2012 1

Elaboro: Benjamín Hernández García

"MIGUEL LERDO DE TEJADA"

CONTROL DE AVANCE PROGRAMÁTICO SEMANAL BACHILLERATO TECNOLÓGICO

AGOSTO 2012

INFORMATICA

CURSO BASICO PARA CREAR PÁGINAS DINAMICAS CON

PHP Y MYSQL

INSTRUCTOR:

LIC. BENJAMÍN HERNÁNDEZ GARCÍA

AGOSTO DE 2012

BEHEG 2012 2

Elaboro: Benjamín Hernández García

INTRODUCCION PHP Hypertext Pre-Processor (Pre Procesador de Hipertexto) Es un lenguaje interpretado que siempre se ejecuta en un servidor. PHP fue desarrollado originalmente en el año 1994 por Rasmus Lerddorf escrito en C, el sistema fue denominado Personal Home Page Tools. Y de manera adicional , su creador diseño un sistema para procesar formularios al que le atribuyó el nombre de FI (form Interpreter) y el conjunto de estas dos herramientas, sería la primera versión compacta del lenguaje: PHP/FI. Versiones de PHP

• 1995 PHP/FI • 1997 PHP/FI 2.0 • 1998 PHP 3.0 • 2000 PHP 4.0 • 2005 PHP 5.0

PHP permite diseñar páginas dinámicas de servidor (Se utiliza para programar scripts que van a ser ejecutados en servidores Web). Es un software libre y multiplataforma, sigue la filosofía Open Source. Soporta multiples servidores Web:

• Apache • Microsoft Internet Information Server, • Personal Web Server.

Soporta más de 25 gestores de bases de datos: Mysql, DB2, Sybase, PostgreSQL, Informix, dBAse, Oracle, etc.

BEHEG 2012 3

Elaboro: Benjamín Hernández García

¿Qué es PHP?

Es un lenguaje de programación de estilo clásico, es decir, utiliza variables, sentencias condicionales, ciclos (bucles), funciones, etc... No es un lenguaje de marcado como HTML, XML. Esta más cercano a JavaSript o a C. Pero a diferencia de javaScript que se ejecuta en el navegador, PHP se ejecuta en el servidor, con esto permite acceder a los recursos que tiene el servidor como por ejemplo una base de datos. El programa PHP es ejecutado en el servidor y el resultado es enviado al navegador, normalmente en una pagina HTML. Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del browser, pero sin embargo para que funcione, el servidor debe soportar PHP.

¿Qué se necesita para que funcione PHP?

• Versión compilada de PHP (http://www.php.net). • Un servidor Web (Apache). (http://www.apache.org). • Si se desea manejar bases de datos se recomienda MySql Server

(http://ww.mysql.com). Actualmente existen combos o paquetes que contienen las tres herramientas llamada L.A.M.P. (Linux Apache MySql PHP) tanto para Linux como para Windows. En este curso utilizaremos: Wamp 5 1.7.3 , que soporta perfectamente Windows XP y Vista sin ningun problema. (http://wamp-server-wamp5.uptodown.com/) Aunque hay otros como Easy PHP pero tiene conflictos con Vista.

BEHEG 2012 4

Elaboro: Benjamín Hernández García

Como escribir codigo php (codigo.php) <?php

echo ”CODIGO PHP”;

?>

El primer programa llamado uno.php

<html> <head> <title>Prueba PHP </title> </head> <body> <center> <img src="php.gif" border="0"/> <?php echo"<h2> El módulo de PHP funciona correctamente...</h2>"; ?> </center> </body> </html>

BEHEG 2012 5

Elaboro: Benjamín Hernández García

Habitualmente encontraremos código PHP insertado en cualquier parte del documento HTML. El código PHP también puede formar parte de un documento que no contenga ninguna etiqueta HTML. El ejemplo anterior quedaría así: <?php echo"<center><img src=php.gif border=0>"; echo"<h2>El módulo de PHP funciona correctamente...</h2></center>"; ?>

Diferentes tipos de comentarios dos.php

<?php //comentario tipo C y C++ echo "tipos de comentarios"; # comentario tipo shell de unix /* Comentario tipo C */ ?>

BEHEG 2012 6

Elaboro: Benjamín Hernández García

Más comentarios tres.php

<html> <head> <title> Prueba Comentarios</title> </head> <body> <center> <h1>

<?php //comentario inicial echo "Primer tipo de comentarios";//comentario tipo c++ //comentario final ?> <br> <?php /* comentario inicial */ echo "Segundo tipo de comentarios"; /* comentario tipo c */ /* comentario final */ ?>

<br> <?php #comentario inicial echo "Tercer tipo de comentarios"; #comentario tipo shell #comentario final ?>

</h1> </center> </body> </html>

BEHEG 2012 7

Elaboro: Benjamín Hernández García

Variables

Las variables son contenedores de datos a los que se les asigna un valor y con los que se realiza una operación o función. Se declaran mediante un signo de pesos ($) y pueden contener una cadena de caracteres, valores numéricos, son sensibles a las mayúsculas y minúsculas.

<?php $var = "Ejemplo de una variable"; print $var;

?>

En este sencillo ejemplo vemos que le asignamos un valor y luego le indicamos que lo presente en pantalla, pero conviene comparar su sintaxis con el siguiente ejemplo.

<?php $var1 = 2; $var2 = 4; $sum = $var1 + $var2; print "El resultado de $var1 + $var2 es $sum";

?>

No es necesario declarar las variables antes de su utilización. Todos los nombres de las variables van precedidos por el símbolo de pesos, $, seguido, al menos, por una letra (de la a a la z o de la A a la Z) o un guión bajo ( _ ) PHP distingue entre mayúsculas y minúsculas, por lo que dos variables iguales en mayúscula y en minúsculas serán diferentes.

BEHEG 2012 8

Elaboro: Benjamín Hernández García

Tipos de datos

• Cadenas (Strings) • Arreglos (Arrays) • Enteros (Integers) • Números de punto flotante (Floating Point Numbers) • Objetos (Objects)

Los enteros se pueden representar en formato decimal (base 10), octal base 8(comienzan con un cero) ó hexadecimal base 16 (comienzan con 0X). La función echo muestra por defecto siempre la información en decimal, a pesar de que internamente ésta se haya almacenado en la variable con un formato distinto.

Cuatro.php

<HTML> <HEAD> <TITLE>Variables Enteras</TITLE> </HEAD> <BODY> <CENTER> <H2>Formatos de los números Enteros</H2> <TABLE BORDER="1" CELLPADDING="2" CELLSPACING="2"> <TR ALIGN="right"> <TD BGCOLOR="yellow">Decimal Positivo</TD> <TD> <?php $num = 502; //número decimal

BEHEG 2012 9

Elaboro: Benjamín Hernández García

echo $num; //mostramos el valor de $num ?> </TD> </TR> <TR ALIGN="right"> <TD BGCOLOR="yellow">Decimal Negativo</TD> <TD> <?php $num = -502; //número decimal negativo echo $num; //mostramos el valor de $num ?> </TD> </TR> <TR ALIGN="right"> <TD BGCOLOR="yellow">Decimal Octal (0512)</TD> <TD> <?php $num = 0502; //número octal echo $num; //mostramos el valor de $num ?> </TD> </TR> <TR ALIGN="right"> <TD BGCOLOR="yellow">Decimal Hexadecimal (0x12)</TD> <TD> <?php $num = 0x12; //número hexadecimal echo $num; //mostramos el valor de $num ?> </TD> </TR> </TABLE> </CENTER> </BODY> </HTML>

BEHEG 2012 10

Elaboro: Benjamín Hernández García

Variables tipo flotantes (float) y con notación exponencial. La función echo muestra por defecto siempre la información en decimal, a pesar de que internamente ésta se haya almacenado en la variable con un formato distinto.

Cinco.php <HTML> <HEAD> <TITLE>Variables en Coma Flotante</TITLE> </HEAD> <BODY> <CENTER> <H2>Formatos de los números en coma flotante</H2> <TABLE BORDER="1" CELLPADDING="2" CELLSPACING="2"> <TR ALIGN="right"> <TD BGCOLOR="yellow">Estándar</TD> <TD> <?php $num = 2.589; //formato estándar echo $num; //mostramos el valor de $num ?> </TD> </TR> <TR ALIGN="right"> <TD BGCOLOR="yellow">Científico (1.5e2)</TD>

BEHEG 2012 11

Elaboro: Benjamín Hernández García

<TD> <?php $num = 1.5e2; //formato científico echo $num; //mostramos el valor de $num ?> </TD> </TR> </TABLE> </CENTER> </BODY> </HTML>

CADENAS (string) Deben ir entre comillas dobles, o entre comillas simples. Siempre se debe utilizar el mismo tipo de comilla para rodear cada cadena. Cuando utilizamos comillas simples el valor de la variable no será evaluado.

Comillas dobles.

<?php print "texto de pueba"; ?>

Comillas sencillas

<?php print 'texto de pueba';

?>

BEHEG 2012 12

Elaboro: Benjamín Hernández García

A simple vista, parece que son lo mismo, pero como veremos, son diferentes, ejemplo:

<?php $cadena = "Prueba de"; print "$cadena texto<br>"; print '$cadena texto';

?>

Lo que nos presenta lo siguiente:

Esto es debido a que las comillas sencillas indican que su contenido debe leerse literalmente, mientras que las dobles permiten ejecutar operaciones, con la función echo.

seis.php

<HTML> <HEAD> <TITLE>Variables con Cadenas de caracteres</TITLE> </HEAD> <BODY> <CENTER> <H2>Trabajando con Cadenas de caracteres</H2> <?php $lenguaje="PHP"; $ver="v4"; echo "<B>Estamos 'trabajando' con $lenguaje $ver </B><BR><BR>"; echo 'La variable $lenguaje contiene: '; echo "$lenguaje <BR>"; echo 'La variable $ver contiene: '; echo $ver; ?> </CENTER> </BODY> </HTML>

BEHEG 2012 13

Elaboro: Benjamín Hernández García

Las cadenas de caracteres, pueden contener caracteres especiales

Siete.php <HTML> <HEAD> <TITLE>Variables con Cadenas de caracteres</TITLE> </HEAD> <BODY> <CENTER> <H2>Trabajando con Cadenas de caracteres</H2> <?php $lenguaje="PHP"; $ver="v4"; echo "<B>Estamos \"trabajando\" con $lenguaje $ver </B><BR><BR>"; echo "La variable \$lenguaje contiene: $lenguaje <BR>"; echo "La variable \$ver contiene: $ver"; ?> </CENTER> </BODY> </HTML>

BEHEG 2012 14

Elaboro: Benjamín Hernández García

Más de variables: para mostrar variables en pantalla, podemos hacerlo de varias maneras, utilizando la función echo(); y la otra puede ser print(); , las dos instrucciones realizan exactamente la misma salida.

ocho.php <html> <head> <title>Creacion de un portal</title> </head> <?php $a=5;// asignamos un valor numerico $b="5";//asignamos un valor de tipo cadena echo ($a); echo ($b); ?>

nueve.php <html> <head> <title>Creacion de un portal</title> </head> <?php echo"<b><h1>"; $nombre="jose"; echo($nombre);

BEHEG 2012 15

Elaboro: Benjamín Hernández García

echo"<br>"; print($nombre); echo"</b></h1>"; ?>

Resumen de los diferentes formatos de las funciones:

echo y print. (variables.php)

<?php $nombre="Luis"; echo "<b>FUNCION echo</b><br>"; echo "$nombre"; echo"<br>"; echo '$nombre'; echo"<br>"; echo $nombre; echo"<br>"; echo ($nombre); echo"<br>"; print "<b>FUNCION print</b><br>"; print "$nombre"; echo"<br>";

BEHEG 2012 16

Elaboro: Benjamín Hernández García

print '$nombre'; echo"<br>"; print $nombre; echo"<br>"; print ($nombre); ?>

CONSTANTES:

diez.php <html> <head> <title>Creacion de un portal</title> </head> <?php define("Automovil","Rojo");/*automovil tendra durante la ejecución de la pagina siempre el valor de Rojo */ define("Autobus","Norte");/*Autobus tendra durante la ejecución de la pagina siempre el valor de Norte */ echo Automovil; echo "<br>"; echo Autobus; ?>

BEHEG 2012 17

Elaboro: Benjamín Hernández García

Arreglos: los arrays pueden estar compuestos de elementos de diferente naturaleza y su primer índice o posición es el 0. En PHP existen unos arrays especiales llamados asociativos en los que el índice es un valor de tipo string, de modo que cada posición está definida por el par(clave,valor), pudiendo acceder al contenido (valor) a través de la clave, por ejemplo:

Cougar Ford 2.500 V6 182 0 1 2 3 4 5

Cougar Ford 2.500 V6 182 modelo marca fecha cc motor potencia

once.php <HTML> <HEAD> <TITLE>Variables con matrices</TITLE> </HEAD> <BODY> <CENTER> <H2>Trabajando con matrices o <I>arrays</I></H2> <?php $matriz1[0]="cougar"; $matriz1[1]="ford"; // la tercera posición del array esta vacía // por eso le asignamos una cadena sin contenido $matriz1[2]=""; $matriz1[3]="2.500"; $matriz1[4]="V6"; $matriz1[5]=182; $matriz1[]=182; // para añadir el último elemento a una matriz // no es necesario poner el número de índice

BEHEG 2012 18

Elaboro: Benjamín Hernández García

// creamos la matriz asociativa $matriz2['modelo']="cougar"; $matriz2['marca']="ford"; // para marca una posición sin contenido también // se puede utilizar <null> $matriz2['fecha']=null; $matriz2['cc']="2.500"; $matriz2['motor']="V6"; $matriz2['potencia']=182; ?> <TABLE BORDER="1" CELLPADDING="2" CELLSPACING="2"> <TR ALIGN="center" BGCOLOR="yellow"> <TD></TD> <TD>Modelo</TD> <TD>Marca</TD> <TD>Fecha</TD> <TD>CC</TD> <TD>Motor</TD> <TD>Potencia</TD> </TR> <TR ALIGN="center"> <TD BGCOLOR="yellow">matriz1</TD> <?php echo "<TD> $matriz1[0] </TD>"; echo "<TD> $matriz1[1] </TD>"; echo "<TD> $matriz1[2] </TD>"; echo "<TD> $matriz1[3] </TD>"; echo "<TD> $matriz1[4] </TD>"; echo "<TD> $matriz1[5] </TD>"; ?> </TR> <TR ALIGN="center"> <TD BGCOLOR="yellow">matriz2</TD> <?php echo "<TD>". $matriz2['modelo'] ."</TD>";

BEHEG 2012 19

Elaboro: Benjamín Hernández García

echo "<TD>". $matriz2['marca'] ."</TD>"; echo "<TD>". $matriz2['fecha'] ."</TD>"; echo "<TD>". $matriz2['cc'] ."</TD>"; echo "<TD>". $matriz2['motor'] ."</TD>"; echo "<TD>". $matriz2['potencia'] ."</TD>"; ?> </TR> </TABLE> </CENTER> </BODY> </HTML>

Más de variables: para mostrar variables en pantalla, podemos hacerlo de varias maneras, utilizando la función echo(); y la otra puede ser print(); , las dos instrucciones realizan exactamente la misma salida. OPERADORES ARITMETICOS

OPERADOR OPERACION + SUMA - RESTA * MULTIPLICACIÓN / DIVISIÓN

% MÓDULO ++ INCREMENTO -- DECREMENTO

BEHEG 2012 20

Elaboro: Benjamín Hernández García

Doce.php <?php

$x=9; $y=3; $z=5;

$suma=$x+$y;

echo "$suma <br>"; $resta=$x-$z; echo "$resta <br>"; $multiplicacion=$suma*$resta; echo "$multiplicacion <br>"; $final=$multiplicacion++; echo "$final <br>"; echo $multiplicacion; ?>

BEHEG 2012 21

Elaboro: Benjamín Hernández García

Operadores de Comparación

Ejemplo Nombre Resultado $a == $b Igualdad Cierto si $a es igual a $b. $a === $b Identidad Cierto si $a es igual a $b y si son del mismo

tipo (sólo PHP4) $a != $b Desigualdad Cierto si $a no es igual a $b. $a < $b Menor que Cierto si $a es estrictamente menor que $b. $a > $b Mayor que Cierto si $a es estrictamente mayor que $b.

$a <= $b Menor o igual que Cierto si $a es menor o igual que $b.

$a >= $b Mayor o igual que Cierto si $a es mayor o igual que $b

Un ejemplo es:

<?php // Declaro algunas variables $a = 2; $b = 4; $c = 8; if (($a * $b) == $c) { print "La suma de a y b es igual a c"; } ?>

Operadores de Asignación

El operador básico de asignación es =. A primera vista podrías pensar que es el operador de comparación "igual que". Pero no. Realmente

BEHEG 2012 22

Elaboro: Benjamín Hernández García

significa que el operando de la izquierda toma el valor de la expresión a la derecha, (esto es, "toma el valor de"). El valor de una expresión de asignación es el propio valor asignado, ejemplo:

<?php

$a = ($b = 6) + 8; // ahora $a es igual a 14, y $b vale 6 print "La variable a es igual a $a <br /> "; print "La variable b es igual a $b ";

?>

Operador concatenacion

Este es un operador que permite adjuntar o "concatenar" dos cadenas de texto, variables y hasta el resultado de las funciones.

<?php $nombre = "Desconocido"; $saludo = "Bienvenido, ".$nombre; print $saludo; ?>

También es posible adjuntar nuevo contenido a una variable que haya declarado previamente.

<?php $saludo = "Bienvenido, amigo"; $saludo .= " al sitio del futuro"; print $saludo; ?>

BEHEG 2012 23

Elaboro: Benjamín Hernández García

Sin embargo, recuerden que no pueden sustituir el contenido de una variable, sólo ampliarlo.

Operadores de incremento/decremento

Ejemplo Nombre Efecto ++$a Preifijo Incrementa $a en uno y después devuelve $a. $a++ Postfijo Devuelve $a y después incrementa $a en uno. --$a Prefijo Decrementa $a en uno y después devuelve $a. $a-- Postfijo Devuelve $a y después decrementa $a en uno.

Operadores Lógicos

Ejemplo Nombre Efecto $a and $b Y Cierto si tanto $a como $b son ciertos. $a or $b O Cierto si $a o $b son ciertos.

$a xor $b O exclusiva

Cierto si $a es cierto o $b es cierto, pero no ambos a la vez.

! $a Negación Cierto si $a no es cierto. $a && $b Y Cierto si tanto $a como $b son ciertos. $a || $b O Cierto si $a o $b son ciertos.

BEHEG 2012 24

Elaboro: Benjamín Hernández García

Catorce.php <?php $a=4; $b=5; echo($a && $b); echo"<br>"; echo($a AND $b); ?>

Quince.php <?php $w="union"; $x="de"; $y="cadenas"; $z=" "; $resultado=$w.$z.$x.$z.$y; echo"<br><h1>"; echo $resultado; echo "</br></h1>"; echo "<hr>"; echo "<hr>"; ?>

BEHEG 2012 25

Elaboro: Benjamín Hernández García

ESTRUCURAS DE CONTROL dieciseis.php if <?php

$color="rojo";

if($color="rojo") {

print("Efectivamente el color es rojo");

}

?>

<HTML> <HEAD> <TITLE>Estructuras de Control</TITLE> </HEAD> <BODY> <CENTER> <H2>Sentencia <I>if</I></H2> <?php $a=3; $b=7;

BEHEG 2012 26

Elaboro: Benjamín Hernández García

$c=9; echo "<BR>Los tres números a comparar son: "; echo "<B>$a, $b </B>y<B> $c</B><BR><BR>"; echo " y el mayor es el <B>"; if (($a>$b)&&($a>$c)){ echo $a; } if (($b>$a)&&($b>$c)){ echo $b; } if (($c>$a)&&($c>$b)){ echo $c; } echo "</B>"; ?> </CENTER> </BODY> </HTML> Diecisiete.php

<?php $x=10; $y=15; if($x==$y) {

print("X e Y son iguales");

} elseif($x>$y) { print("X es mayor que Y"); } else

BEHEG 2012 27

Elaboro: Benjamín Hernández García

{ print("X es menor que Y"); } ?>

<HTML> <HEAD> <TITLE>Estructuras de Control</TITLE> </HEAD> <BODY> <CENTER> <H2>Sentencia <I>if</I></H2> <?php $a=3; $b=7; $c=9; echo "<BR>Los tres números a comparar son: "; echo "<B>$a, $b </B>y<B> $c</B><BR><BR>"; if ($a>$b){ if($a>$c){ $elmayor=$a; } else { $elmayor=$c; } } elseif($b>$c){ $elmayor=$b; } else {

BEHEG 2012 28

Elaboro: Benjamín Hernández García

$elmayor=$c; } echo " y el mayor es el <B>$elmayor</B>"; ?> </CENTER> </BODY> </HTML> <HTML> <HEAD> <TITLE>Estructuras de Control</TITLE> </HEAD> <BODY> <CENTER> <H2>Sentencia <I>if</I></H2> <?php echo "Hoy es <B>"; $dia = date("D"); if ($dia == "Mon") { echo "Lunes"; } elseif ($dia == "Tue") { echo "Martes"; } elseif ($dia == "Wed") { echo "Miercoles"; } elseif ($dia == "Thu") { echo "Jueves"; } elseif ($dia == "Fri") { echo "Viernes"; } elseif ($dia == "Sat") { echo "Sabado"; } else {

BEHEG 2012 29

Elaboro: Benjamín Hernández García

echo "Domingo"; } echo "</B>"; ?> </CENTER> </BODY> </HTML> Estructura while dieciocho.php <?php

$x=10;

while(--$x) //decrementa en 1 la variable x { echo "<big>"; /*Con esta linea vamos incrementando el tamaño de la fuente*/ echo "<b>"; print("numero:".$x); //mostrara en pantalla "numero.." desde //el 9 hasta el 1. echo"<br>"; echo"<hr>"; }

?>

BEHEG 2012 30

Elaboro: Benjamín Hernández García

PHP utiliza dos operadores ( "?" y ":" ) para formar una expresión condicional

<expresion> ? <expresion2> : <expresion3>; Si <expresión> es verdadera ejecuta <expresion2> en caso contrario ejecuta la <expresion3>. <HTML> <HEAD> <TITLE>Estructuras de Control</TITLE> </HEAD> <BODY> <CENTER> <H2>Sentencia <I>while</I></H2> <?php echo "la suma de los 10 primeros números enteros es: "; $suma=0; $i=1; while($i<=10){ $suma+=$i; echo ($i==10)?"$i = ":"$i+"; $i++; } echo "<B>$suma</B>"; ?> </CENTER> </BODY> </HTML>

BEHEG 2012 31

Elaboro: Benjamín Hernández García

do while <HTML> <HEAD> <TITLE>Estructuras de Control</TITLE> </HEAD> <BODY> <CENTER> <H2>Sentencia <I>do...while</I></H2> <?php $numero=6; echo "<BR><B>$numero!</B> = "; $factorial=1; do{ echo $numero." x "; $factorial*=$numero; $numero--; }while($numero>1); echo "1 = <B>$factorial</B>"; ?> </CENTER> </BODY> </HTML>

Estructura: for Diecinueve.php <?php

for($x=1;$x<=10;$x++) { print("numero:".$x."<br>"); } ?>

BEHEG 2012 32

Elaboro: Benjamín Hernández García

for <HTML> <HEAD> <TITLE>Estructuras de Control</TITLE> </HEAD> <BODY> <CENTER> <H2>Sentencia <I>for</I></H2> <?php echo "la suma de los 10 primeros números enteros es:"; $suma=0; for($i=1;$i<=10;$i++){ $suma+=$i; echo " $i "; if($i==10) echo " = "; else echo "+"; } echo "<B>$suma</B>"; ?> </CENTER> </BODY> </HTML> <HTML> <HEAD> <TITLE>Estructuras de Control</TITLE> </HEAD> <BODY> <CENTER>

BEHEG 2012 33

Elaboro: Benjamín Hernández García

<H2>Sentencia <I>for</I></H2> <?php $numero=5; echo "<BR><B>$numero!</B> = "; $factorial=1; for($i=$numero;$i>=1;$i--){ $factorial*=$i; echo $i; echo ($i==1)?" = ":" x "; } echo "<B>$factorial</B>"; ?> </CENTER> </BODY> </HTML> Fila y columna. <HTML> <HEAD> <TITLE>Estructuras de Control</TITLE> </HEAD> <BODY> <CENTER> <H2>Sentencia <I>for</I></H2> <?php echo "<TABLE BORDER='1'>"; for($fila=1;$fila<=10;$fila++){ echo "<TR ALIGN='CENTER'>"; for($col=1;$col<=10;$col++){ echo "<TD>".($fila*$col)."</TR>"; } echo "</TR>";

BEHEG 2012 34

Elaboro: Benjamín Hernández García

} echo "</TABLE>"; ?> </CENTER> </BODY> </HTML> Function switch veintidós.php <?php $color="negro"; switch($color) { case "blanco": $sector="claro"; break; case "naranja": $sector="normal"; break; case "negro": $sector="oscuro"; break; } print($sector); ?>

BEHEG 2012 35

Elaboro: Benjamín Hernández García

switch <HTML> <HEAD> <TITLE>Estructuras de Control</TITLE> </HEAD> <BODY> <CENTER> <H2>Sentencia <I>if</I></H2> <?php echo "Hoy es <B>"; $dia = date("D"); switch($dia){ case "Mon": echo "Lunes"; break; case "Tue": echo "Martes"; break; case "Wed": echo "Miércoles"; break; case "Thu": echo "Jueves"; break; case "Fri": echo "Viernes"; break; case "Sat": echo "Sábado"; break; default: echo "Domingo"; } echo "</B>"; ?> </CENTER> </BODY> </HTML>

BEHEG 2012 36

Elaboro: Benjamín Hernández García

función include("nombre del archivo"); veinte.php <?php $x="incluyendo"; $y="archivos"; $z=" "; ?> Veintiuno.php <?php include("veinte.php"); echo"<br>"; echo"<br>"; print("$x.$z.$y"); ?>

FUNCIONES

Sintaxis: function suma ($x) (Funcion1.php)

BEHEG 2012 37

Elaboro: Benjamín Hernández García

<?php function hola() { print "Hola gente"; }

hola();

?> (funcion2.php) <?php function hola() { return "Hola gente"; } $var = hola(); print $var; print hola(); ?> Veintitrés.php <?php function suma ($x,$y) { $z=$x+$y; return $z; } $resultado=suma(5,12); echo"<br>"; echo $resultado; ?>

BEHEG 2012 38

Elaboro: Benjamín Hernández García

Veinticuatro.php <?php function suma ($suma) { return $suma+$suma; } print("suma:".suma(5)); ?>

Veinticinco.php Variables globales y locales <?php $var=5; function suma() { $var=12; } suma(); echo"<br>"; echo"<br>"; print($var); ?>

Veintiséis.php

BEHEG 2012 39

Elaboro: Benjamín Hernández García

<?php $var=5; function suma() { $var=12; print($var); } echo suma(); ?>

Tener una variable global en una función es casi lo mismo que tenerla como una referencia, pero con la diferencia que no se tiene que declarar otra variable, sino que se llaman igual; pueden tener todas las variables globales que necesiten, separándolas con una coma.

<?php $x = 1; function suma() { global $x; $x++; } suma(); print $x;

?>

Otra forma es crear un arreglo asociativo de las variables globales para llamarlas desde una función con el comando $GLOBALS["variable"] .

BEHEG 2012 40

Elaboro: Benjamín Hernández García

<?php $x = 1; function suma() { $GLOBALS["x"]++; } suma(); print $x;

?>

Y este es un ejemplo muy sencillo, dividido en dos partes, por un lado vamos a hacer un formulario para que nos pregunte ciertas cantidades, llamado suma.html:

<!-- Nombre del archivo: suma.html--> <html> <head> <title>Formulario de una suma</title> <body> <form action="suma.php" method="post"> <p> Primer n&uacute;mero a sumar:</p> <input type="text" name="primnum" size="20" maxlength="30"> <p> Segundo número a sumar : <input type="text" name="segnum" size="20" maxlength="30"> <p> <input name="Enviar" value="Enviar" type="submit"> </form> </body>

BEHEG 2012 41

Elaboro: Benjamín Hernández García

</html>

Y este es el script que ejecuta la suma, llamado "suma.php":

<!-- Nombre del archivo: suma.php --> <html> <head> <title>Resultado de la suma</title> <body> <h1 align=center> <?php $a = $_POST['primnum']; $b = $_POST['segnum']; Function Sum () { global $a, $b; $b = $a + $b; } Sum (); echo "el resultado es: $b"; ?> </h1> </body>

</html>

BEHEG 2012 42

Elaboro: Benjamín Hernández García

CREAR UNA BASE DE DATOS EN MYSQL: mysql> show databases; mysql> use test Database changed mysql> create database empresa; mysql> use empresa; Database changed mysql> create table departamentos -> ( -> id_depto int not null primary key, -> dep varchar (30) not null, -> loc varchar (30) not null -> );

BEHEG 2012 43

Elaboro: Benjamín Hernández García

mysql> create table empleados -> ( -> id_emp int not null primary key, -> emp varchar (30) null, -> ap varchar (30) null, -> am varchar (30) null, -> direccion varchar (50) null, -> tel varchar (30) null, -> fecha date null, -> id_depa int not null, -> foreign Key (id_depa) references departamentos (id_depto) -> ); mysql> insert into departamentos values (1,"finanzas","ITTLA"); mysql> insert into departamentos (id_depto, dep, loc) values (2,"finanzas","ITTLA"); mysql> delete from departamentos where id_depto=1; mysql> update departamentos set dep="Conta" where id_depto=2;

BEHEG 2012 44

Elaboro: Benjamín Hernández García

PROGRAMA LLAMADO CONECTAR_A_MYSQL.PHP

<?php function conectar_a_mysql($host,$user,$passwd,$db) { $conexion=mysql_connect ($host,$user,$passwd,$db); if (!$conexion){ echo "No se pudo conectar con el servidor $host"; return false; } if (!mysql_select_db($db,$conexion)){ echo"NO existe la base de datos $db"; return false; } return $conexion; } ?>

BEHEG 2012 45

Elaboro: Benjamín Hernández García

PROGRAMA LLAMADO DATOS.PHP <?php $conexion=mysql_connect("localhost","root",""); $sql="create database laboratorio"; mysql_query($sql,$conexion); mysql_select_db("laboratorio",$conexion); $sql="create table datos(laboratorio varchar(20), grupo int, fecha date, profesor varchar(20), practica varchar(20), alumnos int, asignatura varchar(20), entrada time, salida time)"; mysql_query($sql,$conexion); $sql="create table fallos(pc int, unidad varchar(25), video varchar(25), teclado varchar(25), mouse varchar(25), so varchar(25), observacion varchar(30))"; mysql_query($sql,$conexion); mysql_close($conexion); echo"la base de datos y la tabla han sido creadas!"; ?>

BEHEG 2012 46

Elaboro: Benjamín Hernández García

“PROGRAMA LLAMADO LABORATORIO.PHP”

<html> <body bgcolor="white"> <h1>CAPTURA DE DATOS DE LOS PROFESORES </h1> <?php include ("conectar_a_mysql.php"); $conexion = conectar_a_mysql("localhost","root","","laboratorio"); if ($conexion==false) { exit(); } ?> <form action ="laboratorio.php" method ="post"> LABORATORIO<input type ="text" name ="laboratorio" size="20"> GRUPO<input type "text" name="grupo" size="6"> FECHA<input type="text" name ="fecha" size="15"> <br><br> PROFESOR <input type="text" name ="profesor" size="15"> PRACTICA <input type="text" name ="practica" size="15"> ALUMNOS<input type ="text" name ="alumnos"> <br><br> ASIGNATURA<input type "text" name="asignatura"

BEHEG 2012 47

Elaboro: Benjamín Hernández García

size="20"> HORA DE ENTRADA<input type="text" name ="entrada" size="8"> HORA DE SALIDA <input type="text" name ="salida" size="8"> <br><br> <input type="submit" value="EJECUTAR LA CAPTURA DE DATOS"><br><br> <A href="reporte.php">QUIERES REPORTAR UNA COMPUTADORA </A> </form> <?php $laboratorio=$_POST ['laboratorio']; $grupo=$_POST['grupo']; $fecha=$_POST['fecha']; $profesor=$_POST ['profesor']; $practica=$_POST['practica']; $alumnos=$_POST ['alumnos']; $asignatura=$_POST['asignatura']; $entrada=$_POST['entrada']; $salida=$_POST ['salida']; if ($laboratorio =="" && $grupo =="" && $fecha=="" && $profesor=="" && $practica=="" && $alumnos == "" && $asignatura =="" && $entrada=="" && $salida=="" ){ exit(); }

BEHEG 2012 48

Elaboro: Benjamín Hernández García

$sql="insert into datos values('$laboratorio', '$grupo', '$fecha', '$profesor', '$practica','$alumnos', '$asignatura', '$entrada', '$salida')"; if(!mysql_query($sql, $conexion)) { echo"No se puede agregar los datos"; exit(); } ?> <table border=3> <tr> <td>LABORATORIO</td> <td>GRUPO</td> <td>FECHA</td> <td>PROFESOR</td> <td>PRACTICA</td> <td>ALUMNOS</td> <td>ASIGNATURA</td> <td>HORA DE ENTRADA</td> <td>HORA DE SALIDA</td> </tr> <?php $sql = "select * from datos"; $resultados = mysql_query ($sql, $conexion); if (!$resultados) { echo "No se pueden seleccionar los datos"; exit (); } while ($registro = (mysql_fetch_array ($resultados))) { echo "<tr>\n";

BEHEG 2012 49

Elaboro: Benjamín Hernández García

echo "\t<td>" . $registro ['laboratorio'] . "</td>\n"; echo "\t<td>" . $registro ['grupo'] . "</td>\n"; echo "\t<td>" . $registro ['fecha'] . "</td>\n"; echo "\t<td>" . $registro ['profesor'] . "</td>\n"; echo "\t<td>" . $registro ['practica'] . "</td>\n"; echo "\t<td>" . $registro ['alumnos'] . "</td>\n"; echo "\t<td>" . $registro ['asignatura'] . "</td>\n"; echo "\t<td>" . $registro ['entrada'] . "</td>\n"; echo "\t<td>" . $registro ['salida'] . "</td>\n"; echo "</tr>\n"; } mysql_free_result ($resultados); mysql_close ($conexion); ?> </table> </body> </html>

BEHEG 2012 50

Elaboro: Benjamín Hernández García

“PROGRAMA LLAMADO REPORTE.PHP”

<html> <body bgcolor="white"> <h1>REPORTE DE FALLAS DE COMPUTADORAS</h1> <?php include ("conectar_a_mysql.php"); $conexion = conectar_a_mysql("localhost","root","","laboratorio"); if ($conexion==false) { exit(); } ?> <form action ="reporte.php" method ="post"> NUMERO DE PC <input type="text" name ="pc" size="5"> <input type="checkbox" name="diez" value="dos" ><br> UNIDAD DE 3 1 / 2 <input type ="text" name ="unidad" size="12"> <br> VIDEO <input type "text" name="video" size="20"> <br> TECLADO <input type="text" name ="teclado" size="15"> <br> MOUSE <input type="text" name ="mouse" size="15"> <br> SISTEMA OPERATIVO <input type="text" name ="so" size="12"> <br> OBSERVACIONES <br><textarea name ="observacion" rows=4 cols= 30> </textarea><br><br> <input type="submit" value="EJECUTAR LA CAPTURA DE LA FALLA"><br><br> <A href="clave.php">SOLO EL ADMINISTRADOR </A>

BEHEG 2012 51

Elaboro: Benjamín Hernández García

</form> <?php $pc=$_POST['pc']; $unidad=$_POST ['unidad']; $video=$_POST['video']; $teclado=$_POST['teclado']; $mouse=$_POST ['mouse']; $so=$_POST['so']; $observacion=$_POST ['observacion']; if ($pc=="" && $unidad == "" && $video =="" && $teclado=="" && $mouse=="" && $so=="" && $observacion== ""){ exit(); } $sql="insert into fallos values('$pc','$unidad', '$video', '$teclado', '$mouse', '$so', '$observacion')"; if(!mysql_query($sql, $conexion)) { echo"No se puede agregar los datos"; exit(); } ?> <center> <h1>REPORTE DE FALLAS REPORTADAS EN LOS LABORATORIOS </h1> <table border='3'> <tr> <td>No DE PC </td>

BEHEG 2012 52

Elaboro: Benjamín Hernández García

<td>UNIDAD DE 3 1/2 </td> <td>VIDEO </td> <td>TECLADO </td> <td>MOUSE </td> <td>SISTEMA OPERATIVO</td> <td>OBSERVACIONES</td> </tr> <?php $sql = "select * from fallos"; $resultados = mysql_query ($sql, $conexion); if (!$resultados) { echo "No se pueden seleccionar los datos"; exit (); } while ($registro = (mysql_fetch_array ($resultados))) { echo "<tr>\n"; echo "\t<td>" . $registro ['pc'] . "</td>\n"; echo "\t<td>" . $registro ['unidad'] . "</td>\n"; echo "\t<td>" . $registro ['video'] . "</td>\n"; echo "\t<td>" . $registro ['teclado'] . "</td>\n"; echo "\t<td>" . $registro ['mouse'] . "</td>\n"; echo "\t<td>" . $registro ['so'] . "</td>\n"; echo "\t<td>" . $registro ['observacion'] . "</td>\n"; echo "</tr>\n"; } mysql_free_result ($resultados); mysql_close ($conexion); ?> </table> </center> </body> </html>

BEHEG 2012 53

Elaboro: Benjamín Hernández García

PROGRAMA LLAMADO CLAVE.PHP

<?php function formulario() { ?> <form action="clave.php" method="post"> <center> <h2>ADMINISTRADOR INTRODUCE LOS SIGUIENTES DATOS</h2> NOMBRE DEL USUARIO <input type="text" name="nombre"><br><br><br> CLAVE <input type="password" name="clave"><br><br><br> <input type="submit" value="enviar"> </center> </form> <?php } $nombre=$_POST['nombre']; $clave=$_POST['clave']; if ($nombre=="" && $clave=="") { formulario(); }

BEHEG 2012 54

Elaboro: Benjamín Hernández García

elseif ($nombre=="benjamin" && $clave=="hernandez"){ echo"<h1> HAS ACCEDIDO A LA PAGINA </h1>"; include ("suprimir.php"); } else { echo"<center>"; echo" <h1>LOS DATOS PROPORCIONADOS SON INCORRECTOS VERIFICALOS</h1>"; echo"</center>"; formulario(); } ?>

BEHEG 2012 55

Elaboro: Benjamín Hernández García

PROGRAMA LLAMADO SUPRIMIR <html> <body bgcolor="white"> <form action="suprimir.php" method="post"> <center> <h1>REPORTE DE FALLAS EN LOS LABORATORIOS</h1> <form> QUE MAQUINA SE REPARO<input type="text" name ="pc" size="5"><br><br> <input type="submit" value="EJECUTAR"> </form> </center> <?php include ("conectar_a_mysql.php"); $conexion = conectar_a_mysql("localhost","root","","laboratorio"); if ($conexion==false) { exit(); } ?> <center> <table border='2'> <tr> <td> PC </td> <td> UNIDAD DE 3 1/2 </td> <td> VIDEO </td> <td> FECHA </td> <td> TECLADO </td> <td> MOUSE </td> <td> SISTEMA OPERATIVO </td> <td> OBSERVACIONES </td>

BEHEG 2012 56

Elaboro: Benjamín Hernández García

</tr> <?php $pc=$_POST['pc']; $conexion=mysql_connect("localhost","root",""); mysql_select_db("laboratorio",$conexion); $sql="delete from fallos where pc=$pc"; mysql_query($sql,$conexion); $sql = "select * from fallos"; $resultados = mysql_query ($sql, $conexion); if (!$resultados) { echo "No se pueden seleccionar los datos"; exit (); } while ($registro = (mysql_fetch_array ($resultados))) { echo "<tr>\n"; echo "\t<td>" . $registro ['pc'] . "</td>\n"; echo "\t<td>" . $registro ['unidad'] . "</td>\n"; echo "\t<td>" . $registro ['video'] . "</td>\n"; echo "\t<td>" . $registro ['autor'] . "</td>\n"; echo "\t<td>" . $registro ['teclado'] . "</td>\n"; echo "\t<td>" . $registro ['mouse'] . "</td>\n"; echo "\t<td>" . $registro ['so'] . "</td>\n"; echo "\t<td>" . $registro ['observacion'] . "</td>\n"; echo "</tr>\n"; } mysql_free_result ($resultados); mysql_close($conexion); ?>