UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

58
UNIVA menú salir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga http :// www.nazul.net /

Transcript of UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

Page 1: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

1

TALLER DE PHP

Instructor: Mario G. Contreras Arriaga http://www.nazul.net/

Page 2: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

2

TALLER DE PHP

1 Introducción

2 Historia y desarrolladores

3 Plataformas soportadas

4 Bases de datos soportadas

5 Delimitadores, fin de línea y comentarios

6 Variables

7 Constantes

8 Operadores

9 Comparaciones

10 If … then … else

11 Ciclos

12 Switch… case…

13 Funciones

14 Include y Require

15 Variables de sistema

16 Formularios y URL

17 Sesiones y Cookies

18 MySql

3.1 Instalación PHP en IIS

Page 3: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

3

1. Introducción a PHP

PHP es el acrónimo de Hypertext Preprocessor. Es un lenguaje de programación multiplataforma ejecutado del lado del servidor, es rápido, con una gran variedad de bibliotecas de funciones y documentación amplia en línea.

Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor Web, donde es procesada la página para posteriormente ser enviada al navegador Web del cliente.

El cliente solamente recibe una página Web con código HTML resultante de la ejecución del intérprete (o compilador) de PHP.

Nota: Puede contener algunos scripts de otros lenguajes (Javascript, Applets, etc.)

Page 4: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

4

1. Introducción a PHP

Internet

Servidor

Web

Cliente Servidor

de Aplicacio

nes

Base de

DatosCliente

Cliente

Page 5: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

5

1. Introducción a PHP

Servidor

Web

Cliente

.html

.php

La página se ejecuta para convertirse en código html

La página HTML se envía al cliente

Solicita una página al servidor

Es una página PHP

Page 6: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

6

1. Introducción a PHP

• Breve historia de PHP

– Creado por Rasmus Lerdorf para uso personal en 1994– PHP = PHP: Hypertext Processor– Originalmente era Personal Home Page– Versión actual: PHP 5– Es un módulo que se añade al servidor Web y fue concebido

inicialmente para Apache

Más información http://mx2.php.net/manual/es/faq.general.php

• ¿Por qué PHP?

– Por sus ventajas: es simple, fácil de aprender, de libre distribución, permite el acceso a bases de datos y otras funcionalidades orientadas a la red

– Dispone de abundante soporte en la Web

Page 7: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

7

1. Introducción a PHP

• Requisitos– Servidor Web (Apache, IIS, etc.)– PHP (http://www.php.net)

• Para este taller también usaremos:– MySQL (http://www.mysql.com)

• Otras utilerías– Herramientas para la gestión de MySQL: PHPMyAdmin

(http:// www.phpmyadmin.net)– Editores de PHP: PhpEdit (http://www.phpedit.com)– Manuales de PHP y MySQL

Page 8: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

8

2. Historia y Desarrolladores

Fechas•Inicio del desarrollo en otoño de 1994 •PHP Versión 1 (primer semestre 1995) •PHP Versión 2 (1995-1997) •PHP Versión 3 (1997-2000) •PHP Versión 4 (segundo trimestre de 2000)•PHP Versión 5 (primer semestre 2004)

Equipo de Desarrollo (195 personas con acceso a CVS)•Zeev Suraski y Andi Gutmans (Israel)•Shane Caraveo (Florida)•Stig Bakken (Norway)•Andrei Zmievski (Lincoln, Nebraska)•Sascha Schumann (Dortmund, Germany)•Thies C. Arntzen (Hamburg, Germany)•Jim Winstead (Los Angeles)•Sam Ruby (Raleigh, NC) •Rasmus Lerdorf (San Francisco)

Page 9: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

9

3. Plataformas soportadas

Plataformas (actualidad):•UNIX (todas las variantes) •Win32 (NT/95/98/2000/XP/2003) •HP-UX•Mac (WebTen) •OS/2 •BeOS

Plataformas (en desarrollo):•OS/390 •AS/400

Servidores:•Apache 1.x (UNIX,Win32) •CGI •fhttpd •ISAPI (MS IIS, Zeus) •NSAPI (Netscape iPlanet) •Java servlet •AOLServer •Roxen

Servidores (en desarrollo):•Apache 2.0•WSAPI (O'Reilly WebSite) •phttpd•thttpd

Page 10: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

10

Instalación

Page 11: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

11

4. Bases de datos soportadas

Motor de Base de Datos•Adabas D •Empress •IBM DB2 •Informix •Ingres •Interbase •Frontbase •mSQL •Direct MS-SQL •MySQL •ODBC •Oracle (OCI7,OCI8) •PostgreSQL •Raima Velocis •Solid •Sybase

Archivos•dBase•filePro (sólo lectura)•Dbm (ndbm, gdbm, Berkeley db)

Page 12: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

12

5. Delimitadores, fin de línea y comentarios.

Delimitadores Forma 1:

<? Código fuente ?> Forma 2:

<?php Código fuente ?>

Forma 3:<script language="php"> Código fuente

</script>Forma 4:

<% Código fuente %>

Fin de línea;

Comentarios:// Una línea# Una línea/* Varias líneas

separadas */

Page 13: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

13

6. Variables

• No es necesario declararlas• Inician con el signo ‘$’ seguido de una letra del alfabeto.• Distinguen de mayúsculas y minúsculas.• Automáticamente se realiza el cambio de un tipo de datos a otro.

$a = 123567.89;$variable = ’hola mundo’;$x2 = $a * 2;$A <> $a$a = ‘Hola’;

Page 14: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

14

6.1 Ámbito de variables.

• En el cuerpo de un archivo, las variables son GLOBALES al archivo y archivos incluidos.

• En una función, son LOCALES a esa función, siempre y cuando no se mande llamar una variable global previamente definida.

• Dentro de una clase, sólo pueden ser accedidas a través del operador “->” sobre el nombre del objeto.

Page 15: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

15

6.2 Referencias.

Se definen con el carácter ‘&’:

$alias = &$variable

 

Se puede eliminar una referencia con la función unset():

$a = 1;$b = &$a;unset ($a); // Pero $b sigue valiendo 1

Page 16: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

16

6.3 Tipos de datos.

•Valores numéricos.$MiVar = 123;

•Punto flotante.$MiVar = 1.3e4;

•Arreglos.$MiVar[2] = 123;

•Cadenas.$MiVar = “Cadena de texto\n”;

•Objetos:$MiVar = new MiClase();

Nota: los arreglos pueden ser n-dimensionales y contener todo tipo de datos.

Page 17: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

17

6.4 Arreglos.

También se pueden definir con el constructor array() :

 

$Arreglo1= array( 1, “hola”, 5);

$Arreglo2 = array( 0 => 1, 1 => “hola”, 2 => 5, 3 => 8, “nombre” => “Fernando”);

$Arreglo3 = array(“uno” = 1,“dos” = 2,“tres” = 3

)

 

Page 18: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

18

6.5 Caracteres adicionales en cadenas.

Secuencia Significado \n Nueva línea \r Retorno de carro \t Tabulación horizontal \ \ Barra invertida \$ Símbolo del dólar \" Dobles comillas

Page 19: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

19

6.6 Uso de cadenas

Para concatenar cadenas se utiliza el operador ‘.’ :

$cad = “A esta cadena”;$cad = $cad . “ le vamos a añadir más texto.”;

Se puede acceder a cada carácter como si fuera un array:

$cad2 = “Tercer carácter de $cad :”.$cad[2];

Page 20: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

20

6.7 Cadenas. Comparación.

 

int strcmp (string str1, string str2)int strcasecmp (string str1, string str2)

// Ver ejemplo:6-7_CadenasComparacion.php

$a="Hola";$b="hola";

$valor=strcmp($a, $b); //0 = igual echo "Valor = $valor <br>";

$valor2=strcasecmp($a, $b); //0 = igual echo "Valor2 = $valor2 <br>";

 

Page 21: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

21

6.8 Cadenas. Subcadenas.

 

string substr (string cadena, int inicio [, int tamaño])//Ver Ejemplo 6-8_CadenasSubcadenas.php

$str = substr('abcdef', 2, 3); // cdeecho "Str: $str<br>";

$str = substr('abcdef', -2); // efecho "Str: $str<br>";

$str = substr('abcdef', -2, 1); // eecho "Str: $str<br>";

$str = substr('abcdef', 1, -2); // bcdecho "Str: $str<br>";

 

Page 22: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

22

6.9 Cadenas. Subcadenas. Ejemplo: substr.php

//Ver Ejemplo 6-9_CadenasSubcadenas.php

<?phpecho "substr('abcdef', 2, 3)<br>";

$str = substr('abcdef', 2, 3);

echo "EL substring de long. 3 a partir de la posicion 2 es: $str <br><br>";

echo "substr('abcdef', -2) <br>";

$str = substr('abcdef', -2);

echo "EL substring a partir de la posicion 2 desde la derecha es: $str<br><br>";

echo "substr('abcdef', -2, 1)<br>";$str = substr('abcdef', -2, 1);

echo "EL substring a partir de la posicion 2 desde la derecha es: $str <br><br>";

echo "substr('abcdef', 1, -2)<br>";$str = substr('abcdef', 1, -2);

?>

Page 23: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

23

6.10 Cadenas. Subcadenas. (2)

int strpos (string cadena, string referencia [, int inicio])int strrpos (string cadena, string referencia)string strstr (string cadena, string referencia)

//Ver Ejemplo 6-10_CadenasSubcadenas.php

$i = strpos('cadena de prueba', 'de');echo "i= $i<br>";// $i = 2$i = strpos('cadena de prueba', 'de', 5);echo "i= $i<br>";// $i = 7$s = strrpos('cadena de prueba', 'de');echo "s= $s<br>";// $s = 7$s = strstr('cadena de prueba', 'de');echo "s= $s<br>";// $s = dena de prueba

Page 24: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

24

7. Constantes

//Ver Ejemplo 7_Constantes.php

define(“SALUDO”, “Hola, mundo!”);echo “La constante SALUDO vale ” . SALUDO;

 

Las constantes se definen con la función define():

Las constantes en PHP se diferencian de las variables en que:

• No llevan el símbolo del dólar delante.• Puede accederse a ellas desde cualquier parte del código donde han sido definidas, sin restricciones de ámbito como en las variables.• No pueden ser redefinidas o borradas una vez definidas.• Sólo pueden contener valores escalares, no vectores.

Page 25: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

25

8.1 Operadores aritméticos.

Operación Nombre Resultado$a + $b Suma Suma de $a y $b.$a - $b Resta Diferencia entre $a y $b.$a * $b Multiplicación Producto de $a y $b.$a / $b División Cociente de $a y $b.$a % $b Módulo Resto de la operación $a/$b.

//Ver Ejemplo 8-1_OperadoresAritmeticos.php$a=10; $b=15;$suma=$a+$b; $resta=$a-$b;$multiplicacion=$a*$b; $division=$b/$a;$modulo=$b%$a;echo "a= $a b= $b<br>";echo "Suma a+b: $suma <br> Resta a-b: $resta<br>";echo "Multiplicación a*b: $multiplicacion <br> División b/a: $division<br>";echo "Modulo b%a: $modulo<br>";

Page 26: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

26

8.2 Auto-incremento y Auto-decremento.

Operación Nombre Resultado

++$a Pre-incrementoIncrementa $a en 1, y devuelve$a (incrementado).

$a++ Post-incrementoDevuelve $a, y después loincrementa en 1.

--$a Pre-decrementoDecrementa $a en 1, y despuéslo devuelve.

$a-- Post-decrementoDevuelve $a, y después loincrementa en 1.

Page 27: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

27

8.3 Operadores lógicos.

Operación Nombre Resultado$a and $b Y Cierto si $a y $b son ciertos.$a or $b O Cierto si $a o $b es cierto.

$a xor $b O Exclusivo.Cierto si $a o $b es cierto, pero noambos.

! $a No Cierto si $a es falso.$a && $b Y Cierto si $a y $b son ciertos.$a || $b O Cierto si $a o $b es cierto.

Page 28: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

28

8.4 Operadores. Asignación, igualdad e identidad.

Operación Nombre Resultado

$a = $b AsignaciónAsigna el valor de una variable oexpresión del segundo término a lavariable del primer término.

$a == $b IgualdadCompara si el valor de los dosoperandos es el mismo.

$a === $b IdentidadCompara si el valor es el mismo y,además, el tipo coincide.

Page 29: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

29

8.5 Operadores. Asignación, igualdad e identidad

$var1 = 1; // Asignación$var2 = 1;$var3 = “1”;($var1 == $var2) // Cierto, son iguales($var1 == $var3) // Son iguales (tras conversión)($var1 === $var2) // Cierto, son idénticas($var1 === $var3) // FALSO, el tipo no coincide

 

Page 30: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

30

9. Comparaciones.

Operación Nombre Resultado

$a != $b No igualCierto si el valor de $a no es igual alde $b.

$a !== $b No idénticoCierto si $a no es igual a $b, o si notienen el mismo tipo.

$a < $b Menor queCierto si $a es estrictamente menorque $b.

$a > $b Mayor queCierto si $a es estrictamente mayorque $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.

Page 31: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

31

10.1 Estructuras de control. if … else

if (expresión) { comandos}

if (expresión) { comandos_cierto} else { comandos_falso}

Page 32: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

32

10.2 Estructuras de control. if … elseif … else (2)

  if (expresion1) { comandos1} elseif (expresion2) { comandos2} elseif (expresion3) { comandos3}...else { comandosElse}

 

Page 33: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

33

11. 1 while y do … while

 

while (expresión) { comandos}

 

 

do { comandos} while (expresión);

 

Page 34: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

34

11.2 Ciclo for

 

for (expresión1; expresión2; expresión3) { comandos}

 

$factorial5 = 1;for ($i = 2; $i <= 5; $i++ ) { $factorial5 *= $i;}

 

Page 35: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

35

11.3 Ejemplos

 

// Ver Ejemplo: 11-3_Ejemplos.php

// Ejemplo:

$a=10; $b=5; $c=10;

//Ifecho "a= $a b=$b c=$c <br>";echo "Ejemplo de if.. else..<br>";if($a==$b){

echo "\$a es igual a \$b<br>";}else{

echo "\$a es diferente a \$b<br>";}echo "Ejemplo de if.. elseif.. else..<br>";if($a>$c){

echo "\$a es mayor que \$c<br>";}elseif($a<$c){

echo "\$a es menor que \$c<br>";}else{

echo "\$a es igual que \$c<br>";}echo "Ejemplo del ciclo for<br>";echo "Inicio <br>";for ($i=$b; $i<$c; $i++){

echo "$i<br>";}echo "Fin <br>";

 

echo "Ejemplo del ciclo for<br>";echo "Inicio <br>";for ($i=$b; $i<$c; $i++){

echo "$i<br>";}echo "Fin <br>";echo "Ejemplo del ciclo while<br>";echo "Inicio <br>";$i=5;while($i<$a){

echo "$i<br>";$i++;

}echo "Fin <br>";echo "Ejemplo del ciclo do while<br>";echo "Inicio <br>";$i=5;do{

echo "$i<br>";$i++;

}while($i<$a); echo "Fin <br>";?>

Page 36: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

36

11.4 foreach

 

foreach (array as variable) { comandos}

 

// Ver Ejemplo: 11-4_foreach.php

$a = array (1, 2, 3, 17);foreach ($a as $v){ echo "Valor actual de \$a: $v.<br>";}

// Valor actual de $a: 1// Valor actual de $a: 2// Valor actual de $a: 3// Valor actual de $a: 17

Page 37: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

37

11.5 foreach (2)

foreach (array as indice => variable){ comandos}

// Ver Ejemplo: 11-5_foreach.php

$a = array( "uno" => 1, "dos" => 2, "tres" => 3, "diecisiete" => 17);

foreach($a as $k => $v) { print "\$a[$k] =>”. $v.”<br>";}

Page 38: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

38

12. Switchswitch (variable) { case valor1: comandos1 break; case valor2: comandos2 break; ...default: comandosDefault break;}

// Ver Ejemplo: 12_switch.php

$a=1; $b=2; $c=3;

$op=$b;

switch($op){

case 1: echo "Op $op : uno<br>"; break;case 2: echo "Op $op : dos<br>"; break;case 2: echo "Op $op : tres<br>"; break;default: echo "Op $op : Ninguno<br>"; break;}

Page 39: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

39

13. Funciones.

 

function nombre ($arg_1, $arg_2, ..., $arg_n) { comandos return $salida;}// Ver Ejemplo: 13_funciones.php

function suma($a,$b){

$result=$a+$b;

return $result;}

function holaMundo(){echo "Hola Mundo.<br>";

}

$a=56; $b=14;$suma=suma($a,$b);echo "La suma de \$a = $a y \$b = $b es $suma<br>";

holaMundo();

Page 40: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

40

14. Include y Require

• La sentencia include(arch) incluye y evalúa el archivo especificado.

• La sentencia require(arch) se sustituye a sí misma con el archivo especificado tal y como funciona la directiva #include de C.

El intérprete sale del modo PHP y entra en modo HTML al principio del archivo referenciado, y vuelve de nuevo al

modo PHP al final.

• Include() se re-evalúa cada vez que se encuentra (y sólo cuando está siendo ejecutada)

• require() siempre leerá el archivo referenciado, incluso si la línea en que está no se ejecuta nunca (condicional).

Page 41: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

41

15. Variables de Sistema

• $HTTP_USER_AGENT Nos informa principalmente sobre el sistema operativo y tipo y versión de navegador utilizado por el usuario. Su principal utilidad radica en que, a partir de esta información, podemos redireccionar nuestros usuarios hacia páginas optimizadas para su navegador o realizar cualquier otro tipo de acción en el contexto de un navegador determinado.

• $HTTP_ACCEPT_LANGUAGE Nos devuelve la o las abreviaciones de la lengua considerada como principal por el navegador. Esta lengua o lenguas principales pueden ser elegidas en el menú de opciones del navegador. Esta variable resulta también extremadamente útil para enviar al internauta a las páginas escritas en su lengua, si es que existen.

• $HTTP_REFERER Nos indica la URL desde la cual el internauta ha tenido acceso a la página. Muy interesante para generar botones de "Atrás" dinámicos o para crear nuestros propios sistemas de estadísticas de visitas.

Page 42: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

42

15. Variables de Sistema

• $PHP_SELF Nos devuelve una cadena con la URL del script que está siendo ejecutado. Muy interesante para crear botones para recargar la página.

• $HTTP_GET_VARS Se trata de un array que almacena los nombres y contenidos de las variables enviadas al script por URL o por formularios GET

• $HTTP_POST_VARS Se trata de un array que almacena los nombres y contenidos de las variables enviadas al script por medio de un formulario POST

• $HTTP_COOKIES_VARS Se trata de un array que almacena los nombres y contenidos de las cookies. Veremos qué son más adelante.

Page 43: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

43

15. Variables de Sistema

• $PHP_AUTH_USER Almacena la variable usuario cuando se efectúa la entrada a páginas de acceso restringido. Combinado con $PHP_AUTH_PW resulta ideal para controlar el acceso a las páginas internas del sitio.

• $PHP_AUTH_PW Almacena la variable password cuando se efectúa la entrada a páginas de acceso restringido. Combinado con $PHP_AUTH_USER resulta ideal para controlar el acceso a las páginas internas del sitio.

• $REMOTE_ADDR Muestra la dirección IP del visitante.

• $DOCUMENT_ROOT Nos devuelve el path físico en el que se encuentra alojada la página en el servidor.

• $PHPSESSID Guarda el identificador de sesión del usuario. Veremos más adelante en qué consisten las sesiones.

Page 44: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

44

15.1 Ejemplo Variables de Sistema

// Ver Ejemplo: 15_1-VariablesSistema.php

echo "<br>\$HTTP_USER_AGENT: ".$HTTP_USER_AGENT;echo "<br>\$PHP_SELF: ".$PHP_SELF;echo "<br>\$REMOTE_ADDR: ".$REMOTE_ADDR;

Page 45: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

45

16.1 Formularios. Valores sencillos.

 

//Ver ejemplo: 16_1-FormularioSencillo.php

echo "<form action=\"$PHP_SELF\" method=\"POST\">Nombre: <input type=text name=nombre><br>Edad: <input type=text name=edad><br><input type=submit>

</form> ";

if ($nombre) {echo "Tu nombre es $nombre<br>";

}

if ($edad) {echo "Tu edad es $edad<br>";

}

 

Page 46: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

46

16.2 Formularios. Valores múltiples.

 

//Ver ejemplo: 16_2-FormularioValoresMultiples.php echo"<form action=\"$PHP_SELF\" method=\"POST\">

<SELECT MULTIPLE NAME=\"Hobbies[]\" SIZE=5><option value=Cine>Cine </option><option value=Teatro>Teatro </option><option value=Televisión>Televisión </option><option value=Futbol>Futbol </option><option value=Otros>Otros </option>

</select><input type=submit value=\"Enviar\">

</form> ";

if ($Hobbies) {$i=0;$cuantos=count($Hobbies);echo "Seleccionaste $cuantos opciones<br>";

foreach($Hobbies as $hobbie) { echo "\$Hobbies[$i]: $hobbie<br>";

$i++; }}

 

Page 47: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

47

16.3 Pasar Variables por la URL

• Para pasar las variables de una página a otra lo podemos hacer introduciendo dicha variable dentro del enlace hipertexto de la página destino. La sintaxis sería la siguiente:

<a href="destino.php?var1=valor1&var2=valor2&...">Mi enlace</a>

• Estas variables no poseen el símbolo $ delante. Esto es debido a que en realidad este modo de pasar variables no es específico de PHP

Page 48: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

48

16.4 Pasar Variables por la URL.

//Ver ejemplo: 16_4-VariableUrl.php echo "Ejemplo de cómo pasar una variable por url<br>";

echo "<br><a href=$PHP_SELF?valor1=10&valor2=20>Valores A</a><br>";echo "<br><a href=$PHP_SELF?valor1=15&valor2=31>Valores B</a><br>";

if ($valor1) {echo "<br>Valor1 $cuantos $valor1<br>";

}if ($valor2) {

echo "<br>Valor2 $cuantos $valor2<br>";}

Page 49: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

49

17. Sesiones y Cookies.

• Una sesión es una cantidad de información que se almacena dentro del servidor con un identificador único de usuario.

• Éste id es enviado autómaticamente al usuario por medio de cookies.

• Dentro de ésta sesión se puede almacenar los valores de las variables y disponer de ellas en cualquiera de las páginas en las que se inicie una sesión.

• Una ventaja extra es que al cambiar el valor de las variables, automáticamente cambia su valor para la sesión.

Page 50: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

50

17.1 Sesiones.

//Ver ejemplo: 17_1A-Sesiones.php<?phpsession_name("Ejemplo");session_start();session_register("usuario");

$HTTP_SESSION_VARS["usuario"] = "Fernando";

echo "El nombre de usuario es: ". $HTTP_SESSION_VARS["usuario"]; echo "<br><a href=17_1B-Sesiones.php>17_1B-Sesiones.php</a>";?>

//Ver ejemplo: 17_1B-Sesiones.php<?phpsession_name(“Ejemplo”);session_start();echo “El nombre de usuario es: “. $HTTP_SESSION_VARS["usuario"]; ?>

Page 51: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

51

17.2 Cookies.

setcookie(“PruebaCookie”, “expiraré dentro de una hora”, time() + 3600);

 

setcookie(“PruebaCookie”, “”, time());

 

setcookie (string nombre [, string valor [, int fin [, string camino [, string dominio [, int seguro]]]]])

Page 52: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

52

18.1 MySql. Conexión y desconexión.

 

int mysql_connect ([string servidor [:puerto] [:/camino/al/socket] [, string usuario [, string contraseña]]])

int mysql_close ([int identificador])

 

 

int mysql_pconnect ([string servidor [:puerto] [:/camino/al/socket] [, string usuario [, string contraseña]]])

int mysql_pclose ([int identificador])

Page 53: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

53

18.2 MySql. Conexión y desconexión. Ejemplo.

 

$link = mysql_connect (“localhost", "nobody", "");if (!$link) { die ("No se pudo conectar");}

print ("Conexión realizada");

mysql_close ($link);

Page 54: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

54

18.3 MySql. Elegir una BD.

 

int mysql_select_db (string nombre_bd [, int identificador])

if (!mysql_select_db("prueba", $link)) { die (“No existe la BD”); }

Page 55: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

55

18.4 MySql. Querys.

 

int mysql_query (string query [, int identificador])int mysql_db_query (string nombre_bd, string query [, int identificador])int mysql_free_result (int result)

 

 

$query = "SELECT codigo, nombre, descripcion, creditos, tipo FROM asignatura";

$asignaturas = mysql_query($query, $link);if (!$asignaturas) { die (“Error en el query”);}

Page 56: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

56

18.5 MySql. Extraer información.

int mysql_affected_rows ([int identificador])

int mysql_num_rows (int resultado)

array mysql_fetch_row (int resultado)

array mysql_fetch_array(int resultado [, int tipo_resultado])

 

Page 57: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

57

18.6 MySql. Extraer información. Ejemplos.

  

Page 58: UNIVA menúsalir Taller de PHP 1 TALLER DE PHP Instructor: Mario G. Contreras Arriaga

UNIVA menú salir

Taller de PHP

65

Fin