Académique Documents
Professionnel Documents
Culture Documents
BEHEG 2009
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 ao 1994 por Rasmus Lerddorf escrito en C, el sistema fue denominado Personal Home Page Tools. Y de manera adicional , su creador diseo un sistema para procesar formularios al que le atribuy el nombre de FI (form Interpreter) y el conjunto de estas dos herramientas, sera la primera versin 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 disear pginas dinmicas de servidor (Se utiliza para programar scripts que van a ser ejecutados en servidores Web). Es un software libre y multiplataforma, sigue la filosofa Open Source. Soporta multiples servidores Web: Apache Microsoft Internet Information Server, Personal Web Server. Soporta ms de 25 gestores de bases de datos: Mysql, DB2, Sybase, PostgreSQL, Informix, dBAse, Oracle, etc.
BEHEG 2009
Qu es PHP?
Es un lenguaje de programacin de estilo clsico, es decir, utiliza variables, sentencias condicionales, ciclos (bucles), funciones, etc... No es un lenguaje de marcado como HTML, XML. Esta ms 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.
Versin 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.
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
(codigo.php)
echo CODIGO PHP; ?> El primer programa llamado <html> <head> <title>Prueba PHP </title> </head> <body> <center> <img src="php.gif" border="0"/> <?php echo"<h2> El mdulo de PHP funciona correctamente...</h2>"; ?> </center> </body> </html> uno.php
BEHEG 2009
Habitualmente encontraremos cdigo PHP insertado en cualquier parte del documento HTML. El cdigo PHP tambin puede formar parte de un documento que no contenga ninguna etiqueta HTML. El ejemplo anterior quedara as: <?php echo"<center><img src=php.gif border=0>"; echo"<h2>El mdulo de PHP funciona correctamente...</h2></center>"; ?>
Diferentes tipos de comentarios <?php //comentario tipo C y C++ echo "tipos de comentarios"; # comentario tipo shell de unix /* Comentario tipo C */ ?>
dos.php
BEHEG 2009
Ms comentarios <html> <head> <title> Prueba Comentarios</title> </head> <body> <center> <h1>
tres.php
<?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>
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
Variables
Las variables son contenedores de datos a los que se les asigna un valor y con los que se realiza una operacin o funcin. Se declaran mediante un signo de pesos ($) y pueden contener una cadena de caracteres, valores numricos, son sensibles a las maysculas y minsculas.
<?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 utilizacin. Todos los nombres de las variables van precedidos por el smbolo de pesos, $, seguido, al menos, por una letra (de la a a la z o de la A a la Z) o un guin bajo ( _ ) PHP distingue entre maysculas y minsculas, por lo que dos variables iguales en mayscula y en minsculas sern diferentes.
BEHEG 2009
Tipos de datos
Cadenas (Strings) Arreglos (Arrays) Enteros (Integers) Nmeros 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 funcin echo muestra por defecto siempre la informacin 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 nmeros Enteros</H2> <TABLE BORDER="1" CELLPADDING="2" CELLSPACING="2"> <TR ALIGN="right"> <TD BGCOLOR="yellow">Decimal Positivo</TD> <TD> <?php $num = 502; //nmero decimal
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
echo $num; //mostramos el valor de $num ?> </TD> </TR> <TR ALIGN="right"> <TD BGCOLOR="yellow">Decimal Negativo</TD> <TD> <?php $num = -502; //nmero 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; //nmero octal echo $num; //mostramos el valor de $num ?> </TD> </TR> <TR ALIGN="right"> <TD BGCOLOR="yellow">Decimal Hexadecimal (0x12)</TD> <TD> <?php $num = 0x12; //nmero hexadecimal echo $num; //mostramos el valor de $num ?> </TD> </TR> </TABLE> </CENTER> </BODY> </HTML>
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
10
Variables tipo flotantes (float) y con notacin exponencial. La funcin echo muestra por defecto siempre la informacin 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 nmeros en coma flotante</H2> <TABLE BORDER="1" CELLPADDING="2" CELLSPACING="2"> <TR ALIGN="right"> <TD BGCOLOR="yellow">Estndar</TD> <TD> <?php $num = 2.589; //formato estndar echo $num; //mostramos el valor de $num ?> </TD> </TR> <TR ALIGN="right"> <TD BGCOLOR="yellow">Cientfico (1.5e2)</TD>
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
11
<TD> <?php $num = 1.5e2; //formato cientfico 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'; ?>
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
12
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 funcin 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>
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
13
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 2009
14
Ms de variables: para mostrar variables en pantalla, podemos hacerlo de varias maneras, utilizando la funcin 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);
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
15
Resumen de los diferentes formatos de las funciones: echo y print. <?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>";
Elaboro: Benjamn Hernndez Garca
(variables.php)
BEHEG 2009
16
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 ejecucin de la pagina siempre el valor de Rojo */ define("Autobus","Norte");/*Autobus tendra durante la ejecucin de la pagina siempre el valor de Norte */ echo Automovil; echo "<br>"; echo Autobus; ?>
BEHEG 2009
17
Arreglos: los arrays pueden estar compuestos de elementos de diferente naturaleza y su primer ndice o posicin 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 posicin est definida por el par(clave,valor), pudiendo acceder al contenido (valor) a travs de la clave, por ejemplo: Cougar 0 Cougar modelo Ford 1 Ford marca 2 2.500 3 V6 4 V6 motor 182 5 182 potencia
<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 posicin del array esta vaca // por eso le asignamos una cadena sin contenido $matriz1[2]=""; $matriz1[3]="2.500"; $matriz1[4]="V6"; $matriz1[5]=182; $matriz1[]=182; // para aadir el ltimo elemento a una matriz // no es necesario poner el nmero de ndice
BEHEG 2009
18
// creamos la matriz asociativa $matriz2['modelo']="cougar"; $matriz2['marca']="ford"; // para marca una posicin sin contenido tambin // 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>";
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
19
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>
Ms de variables: para mostrar variables en pantalla, podemos hacerlo de varias maneras, utilizando la funcin echo(); y la otra puede ser print(); , las dos instrucciones realizan exactamente la misma salida. OPERADORES ARITMETICOS OPERADOR OPERACION + SUMA RESTA * MULTIPLICACIN / DIVISIN % MDULO ++ INCREMENTO -DECREMENTO
BEHEG 2009
20
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 2009
21
Operadores de Comparacin
Ejemplo $a === $b $a != $b $a < $b $a > $b $a <= $b $a >= $b Nombre Resultado Cierto si $a es igual a $b. Cierto si $a es igual a $b y si son del mismo tipo (slo PHP4) Cierto si $a no es igual a $b. Cierto si $a es estrictamente menor que $b. Cierto si $a es estrictamente mayor que $b. Cierto si $a es menor o igual que $b. Cierto si $a es mayor o igual que $b
$a == $b Igualdad Identidad Desigualdad Menor que Mayor que Menor o igual que Mayor o igual que
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 Asignacin
El operador bsico de asignacin es =. A primera vista podras pensar que es el operador de comparacin "igual que". Pero no. Realmente
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
22
significa que el operando de la izquierda toma el valor de la expresin a la derecha, (esto es, "toma el valor de"). El valor de una expresin de asignacin 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; ?> Tambin es posible adjuntar nuevo contenido a una variable que haya declarado previamente. <?php $saludo = "Bienvenido, amigo"; $saludo .= " al sitio del futuro"; print $saludo; ?>
BEHEG 2009
23
Sin embargo, recuerden que no pueden sustituir el contenido de una variable, slo ampliarlo.
Operadores de incremento/decremento
Ejemplo Nombre ++$a $a++ --$a $a-Efecto
Preifijo Incrementa $a en uno y despus devuelve $a. Postfijo Devuelve $a y despus incrementa $a en uno. Prefijo Decrementa $a en uno y despus devuelve $a. Postfijo Devuelve $a y despus decrementa $a en uno.
Operadores Lgicos
Ejemplo $a and $b $a or $b $a xor $b ! $a $a && $b $a || $b Nombre Y O Efecto Cierto si tanto $a como $b son ciertos. Cierto si $a o $b son ciertos.
O Cierto si $a es cierto o $b es cierto, pero no ambos a exclusiva la vez. Negacin Cierto si $a no es cierto. Y O Cierto si tanto $a como $b son ciertos. Cierto si $a o $b son ciertos.
BEHEG 2009
24
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 2009
25
ESTRUCURAS DE CONTROL dieciseis.php <?php $color="rojo"; if($color="rojo") { print("Efectivamente el color es rojo"); } ?> if
<HTML> <HEAD> <TITLE>Estructuras de Control</TITLE> </HEAD> <BODY> <CENTER> <H2>Sentencia <I>if</I></H2> <?php $a=3; $b=7;
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
26
$c=9; echo "<BR>Los tres nmeros 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
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
27
<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 nmeros 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 {
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
28
<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 {
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
29
echo "Domingo"; } echo "</B>"; ?> </CENTER> </BODY> </HTML> Estructura while <?php $x=10; while(--$x) //decrementa en 1 la variable x { echo "<big>"; /*Con esta linea vamos incrementando el tamao de la fuente*/ echo "<b>"; print("numero:".$x); //mostrara en pantalla "numero.." desde //el 9 hasta el 1. echo"<br>"; echo"<hr>"; } ?> dieciocho.php
BEHEG 2009
30
PHP utiliza dos operadores ( "?" y ":" ) para formar una expresin condicional <expresion> ? <expresion2> : <expresion3>; Si <expresin> 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 nmeros 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 2009
31
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 2009
32
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 nmeros 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>
BEHEG 2009
33
<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>";
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
34
} echo "</TABLE>"; ?> </CENTER> </BODY> </HTML> Function switch <?php $color="negro"; switch($color) { case "blanco": $sector="claro"; break; case "naranja": $sector="normal"; break; case "negro": $sector="oscuro"; break; } print($sector); ?> veintids.php
BEHEG 2009
35
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 "Mircoles"; break; case "Thu": echo "Jueves"; break; case "Fri": echo "Viernes"; break; case "Sat": echo "Sbado"; break; default: echo "Domingo"; } echo "</B>"; ?> </CENTER> </BODY> </HTML>
BEHEG 2009
36
funcin 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"); ?>
(Funcion1.php) <?php
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
37
function hola() { print "Hola gente"; } hola(); ?> (funcion2.php) <?php function hola() { return "Hola gente"; } $var = hola(); print $var; print hola(); ?> Veintitrs.php <?php function suma ($x,$y) { $z=$x+$y; return $z; } $resultado=suma(5,12); echo"<br>"; echo $resultado; ?>
BEHEG 2009
38
Veinticinco.php Variables globales y locales <?php $var=5; function suma() { $var=12; } suma(); echo"<br>"; echo"<br>"; print($var); ?>
Veintisis.php
BEHEG 2009
39
Tener una variable global en una funcin 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, separndolas 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 funcin con el comando $GLOBALS["variable"] . <?php $x = 1;
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
40
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úmero a sumar:</p> <input type="text" name="primnum" size="20" maxlength="30"> <p> Segundo nmero a sumar : <input type="text" name="segnum" size="20" maxlength="30"> <p> <input name="Enviar" value="Enviar" type="submit"> </form> </body> </html>
BEHEG 2009
41
<!-- Nombre del archivo: suma.php --> <html> <head> <title>Resultado de la suma</title> <body> <h1 align=center> <? $a = $_POST['primnum']; $b = $_POST['segnum']; Function Sum () { global $a, $b; $b = $a + $b; } Sum (); echo "el resultado es: $b"; ?> </h1> </body> </html>
BEHEG 2009
42
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 2009
43
-> 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) -> );
BEHEG 2009
44
<?php function conectar_a_mysql($host,$user,$passwd,$db) { $conexion=mysql_connect ($host,$user,$password,$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 2009
45
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); mysql_select_db("laboratorio",$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);
BEHEG 2009
46
<html> <body bgcolor="red"> <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(); } function amigo( ) { echo "HOLA"; } ?> <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"
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
47
name ="alumnos"> <br><br> ASIGNATURA<input type "text" name="asignatura" 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="button" value="EJECUTAR UNA FUNCION" onclick="amigo( )"> <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=="" ){
BEHEG 2009
48
exit(); }
$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))) {
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
49
echo "<tr>\n"; 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 2009
50
<body bgcolor="red"> <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> </form> <?php
BEHEG 2009
51
$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> <td>UNIDAD DE 3 1/2 </td> <td>VIDEO </td> <td>TECLADO </td> <td>MOUSE </td> <td>SISTEMA OPERATIVO</td> <td>OBSERVACIONES</td>
BEHEG 2009
52
</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>
# PROGRAMA LLAMADO
CLAVE.PHP
BEHEG 2009
53
<?php function formulario() { ?> <form action="clave.php" method="post"> <center> <h1>ADMINISTRADOR INTRODUCE LOS SIGUIENTES DATOS</h1> 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(); } 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 2009
54
BEHEG 2009
55
<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> <td> <td> <td> <td> <td> <td> <td> </tr> <?php PC </td> UNIDAD DE 3 1/2 </td> VIDEO </td> FECHA </td> TECLADO </td> MOUSE </td> SISTEMA OPERATIVO </td> OBSERVACIONES </td>
BEHEG 2009
56
$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); ?>
# PROGRAMA LLAMADO
<?php function formulario() {
Elaboro: Benjamn Hernndez Garca
CLAVE.PHP
BEHEG 2009
57
?> <form action="clave.php" method="post"> <center> <h1>ADMINISTRADOR INTRODUCE LOS SIGUIENTES DATOS</h1> 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(); } 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 2009
58
BEHEG 2009
59
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); mysql_select_db("laboratorio",$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);
BEHEG 2009
60
<html> <body bgcolor="red"> <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> </form>
BEHEG 2009
61
<?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> <td>UNIDAD DE 3 1/2 </td> <td>VIDEO </td> <td>TECLADO </td> <td>MOUSE </td> <td>SISTEMA OPERATIVO</td>
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
62
<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 2009
63
function conectar_a_mysql($host,$user,$passwd,$db) { $conexion=mysql_connect ($host,$user,$password,$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 2009
64
<html> <body bgcolor="red"> <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(); } function amigo( ) { echo "HOLA"; } ?> <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"
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
65
name ="alumnos"> <br><br> ASIGNATURA<input type "text" name="asignatura" 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="button" value="EJECUTAR UNA FUNCION" onclick="amigo( )"> <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=="" ){
BEHEG 2009
66
exit(); }
$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))) {
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
67
echo "<tr>\n"; 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>
SUPRIMIR.PHP <html>
Elaboro: Benjamn Hernndez Garca
BEHEG 2009
68
<body bgcolor="red"> <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> <td> <td> <td> <td> <td> <td> <td> </tr> <?php
Elaboro: Benjamn Hernndez Garca
PC </td> UNIDAD DE 3 1/2 </td> VIDEO </td> FECHA </td> TECLADO </td> MOUSE </td> SISTEMA OPERATIVO </td> OBSERVACIONES </td>
BEHEG 2009
69
$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); ?>