SlideShare une entreprise Scribd logo
1  sur  68
Instituto Superior Tecnológico Público“Francisco de Paula Gonzáles Vigil”Carrera Profesional de Computación e Informática “PROYECTOS WEB" Tema 3:Lenguaje PHP Lic. José Luis Ponce Segura jlponcesg@hotmail.com www.redtacna.net
Introducción a PHP Lenguajes de script PHP es un lenguaje de script del lado del servidor. Otros lenguajes similares son ASP, JSP o ColdFusion Los scripts PHP están incrustados en los documentos HTML y el servidor los interpreta y ejecuta antes de servir las páginas al cliente El cliente no ve el código PHP sino los resultados que produce
Introducción a PHP ¿Cómo funciona PHP? Cliente (navegador) Servidor web PáginaHTML PáginaHTML internet <P>Hola, Ana</P>
Introducción a PHP ¿Cómo funciona PHP? Cliente (navegador) Servidor web PáginaPHP PáginaHTML PáginaHTML internet Intérprete PHP <?PHP   $nombre = "Ana";   print ("<P>Hola, $nombre</P>"); ?> <P>Hola, Ana</P>
Introducción a PHP Breve historia de PHP Creado por Rasmus Lerdorf para uso personal en 1994 PHP = Personal Hypertext Processor Versión actual: PHP 5 Es un módulo que se añade al servidor web y fue concebido inicialmente para Apache ¿Por qué PHP? Por sus ventajas: es potente, 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
Introducción a PHP Requisitos Servidor web Apache (www.apache.org) con el módulo PHP (www.php.net) y la base de datos MySQL (www.mysql.com) si se desea crear páginas dinámicas Otras utilidades Herramientas para la gestión de MySQL, como PHPMyAdmin (www.phpmyadmin.net) Editores de PHP, como DevPHP (www.sourceforge.net) o Eclipse (www.eclipse.org) Manuales de PHP y MySQL
Lenguaje PHP básico Sintaxis básica Tipos de datos Variables Constantes Expresiones y operadores Estructuras de control Funciones Tablas Bibliotecas de funciones
Sintaxis básica PHP es sensible a las mayúsculas ¿Cómo se incrusta en la página web? <?PHP ... ?> 		recomendado, siempre disponible <?= expresión ?> 		equivale a <? echo expresión ?> Las instrucciones se separan con un ; como en C. La marca final ?> implica un ; Comentarios: como en C, /* … */ y //
Sintaxis básica Para imprimir: echo y print echo: muestra una o más cadenas echo cadena1 [, cadena2…]; // no es una función echo “Hola mundo”; echo “Hola “, “mundo”; print: muestra una cadena print cadena; // no es una función print “Hola mundo”; print  “Hola “ . “mundo”;
Sintaxis básica Ejemplo: <HTML> <HEAD> <TITLE>Mi primer programa en PHP</TITLE> </HEAD> <BODY> <?PHP print (“<P>Hola mundo</P>”); ?> </BODY> </HTML>
Sintaxis básica Uso de  para generar código HTML legible a) Sin  print (“<P>Párrafo 1</P>”); print (“<P>Párrafo 2</P>”); Código PHP <P>Párrafo 1</P><P>Párrafo 2</P> Código HTML Párrafo 1 Párrafo 2 Salida
Sintaxis básica Uso de  para generar código HTML legible b) Con  print (“<P>Párrafo 1</P>”); print (“<P>Párrafo 2</P>”); Código PHP <P>Párrafo 1</P> <P>Párrafo 2</P> Código HTML Párrafo 1 Párrafo 2 Salida
Sintaxis básica Inclusión de ficheros externos: include() require() Ambos incluyen y evalúan el fichero especificado Diferencia: en caso de error include() produce un warning y require() un error fatal Se usará require() si al producirse un error debe interrumpirse la carga de la página Ejemplo:
Sintaxis básica <HTML> <HEAD>    <TITLE>Título</TITLE> <?PHP // Incluir bibliotecas de funciones    require ("conecta.php");    require ("fecha.php");    require ("cadena.php");    require ("globals.php"); ?> </HEAD> <BODY> <?PHP    include ("cabecera.html"); ?> // Código HTML + PHP . . . <?PHP    include ("pie.html"); ?> </BODY> </HTML>
Tipos de datos PHP soporta 8 tipos de datos primitivos: Tipos escalares: boolean, integer, double, string Tipos compuestos: array, object Tipos especiales: resource, NULL  El tipo de una variable no se suele especificar. Se decide en tiempo de ejecución en función del contexto y puede variar Funciones de interés: La función gettype() devuelve el tipo de una variable Las funciones is_type comprueban si una variable es de un tipo dado: is_array(), is_bool(), is_float(), is_integer(), is_null(), 	is_numeric(), is_object(), is_resource(), is_scalar(), is_string() La función var_dump() muestra el tipo y el valor de una variable. Es especialmente interesante con los arrays
Tipos de datos Tipo integer (números enteros) 27, -5, 0 Tipo double (números reales) 1.234, -5.33 Tipo boolean (lógico) Valores: true, false (insensibles a las mayúsculas) El 0 y la cadena vacía tienen valor false
Tipos de datos Tipo string: Las cadenas se encierran entre comillas simples o dobles: ‘simples’: admite los caracteres de escape  (comilla simple) y  (barra). Las variables NO se expanden “dobles”: admite más caracteres de escape, como , , , , , . Los nombres de variables SÍ se expanden Ejemplos: $a = 9; print ‘a vale $a’; 	// muestra a vale $a print “a vale $a”;    // muestra a vale 9y avanza una línea print “<IMG SRC=‘logo.gif’>”;    // muestra <IMG SRC=‘logo.gif’> print “<IMG SRC=logo.gif>”;    // muestra <IMG SRC=“logo.gif”> Acceso a un carácter de la cadena: La forma es $inicial = $nombre{0};
Variables Las variables siempre van precedidas de un $ El nombre es sensible a las mayúsculas Comienzan por letra o subrayado, seguido de letras, números o subrayado Variables predefinidas: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES, $_ENV, $_REQUEST, $_SESSION Ámbito: globales al fichero (excepto funciones) o locales a una función Ejemplo: $valor = 5; print “El valor es: “ . $valor . “”; print “El valor es: $valor”; // ojo: comillas dobles Resultado: 	El valor es: 5
Variables Variables variables Se pueden crear nombres de variables dinámicamente La variable variable toma su nombre del valor de otra variable previamente declarada Ejemplo: 	$a = "hola"; 	$$a = "mundo"; print "$a $hola"; print "$a ${$a}"; 	Resultado: 		hola mundo 		hola mundo
Variables ,[object Object],<?PHP    $mensaje_es="Hola";    $mensaje_en="Hello";    $idioma = "es";    $mensaje = "mensaje_" . $idioma;    print $$mensaje; ?>
Variables ,[object Object],<?PHP    $mensaje_es="Hola";    $mensaje_en="Hello";    $idioma = "en";    $mensaje = "mensaje_" . $idioma;    print $$mensaje; ?>
Constantes Definición de constantes: define (“CONSTANTE”, “hola”); print CONSTANTE; No llevan $ delante Sólo se pueden definir constantes de los tipos escalares (boolean, integer, double, string)
Expresiones y operadores Operadores aritméticos:	+, -, *, /, %, ++, -- Operador de asignación:	=	operadores combinados: .=, +=, etc	$a = 3; $a += 5;  a vale 8	$b = “hola ”; $b .= “mundo”;  b vale “hola mundo” Equivale a $b = $b . “mundo”; Operadores de comparación:	==, !=, <, >, <=, >= y otros Operador de control de error: @. Antepuesto a una expresión, evita cualquier mensaje de error que pueda ser generado por la expresión Operadores lógicos:	and (&&), or (||), !, xor	and/&& y or/|| tienen diferentes prioridades Operadores de cadena:	concatenación: . (punto)	asignación con concatenación: .=
Expresiones y operadores Precedencia de operadores (de mayor a menor): ++, -- *, /, % +,- <, <=, >, >= ==, != && || and or
Estructuras de control Estructuras selectivas: if-else switch Estructuras repetitivas: while for foreach
Estructuras de control Estructura selectiva if-else Mismo comportamiento que en C  Las sentencias compuestas se encierran entre llaves elseif puede ir todo junto if (condición)    sentencia if (condición1)    sentencia 1 else if (condición2)    sentencia 2 ... else if (condición n)    sentencia n else    sentencia n+1 if (condición)    sentencia 1 else    sentencia 2
Estructuras de control Ejemplo de estructura selectiva if-else: <?PHP 	if ($sexo == ‘M’) 		$saludo = "Bienvenida, "; 	else 		$saludo = "Bienvenido, "; 	$saludo = $saludo . $nombre; 	print ($saludo); ?>
Estructuras de control Estructura selectiva switch switch (expresión) { 	case valor_1: 		sentencia 1 		break; 	case valor_2: 		sentencia 2 		break; 	… 	case valor_n: 		sentencia n 		 break; 	default 		sentencia n+1 } Mismo comportamiento que en C, sólo que la expresión del case puede ser integer, float o string
Estructuras de control Ejemplo de estructura selectiva switch: switch ($extension) {    case ("PDF"):       $tipo = "Documento Adobe PDF";       break;    case ("TXT"):       $tipo = "Documento de texto";       break;    case ("HTML"):    case ("HTM"):       $tipo = "Documento HTML";       break; 	default:       $tipo = "Archivo " . $extension; } print ($tipo);
Estructuras de control Estructura repetitiva while while (condición) 	sentencia Mismo comportamiento que en C
Estructuras de control Ejemplo de estructura repetitiva while: <?PHP 	print ("<UL>"); 	$i=1; 	while ($i <= 5) 	{ 		print ("<LI>Elemento $i</LI>"); 		$i++; 	} 	print ("</UL>"); ?>
Estructuras de control Estructura repetitiva for for (inicialización; condición; incremento) 	sentencia Mismo comportamiento que en C
Estructuras de control Ejemplo de estructura repetitiva for: <?PHP print ("<UL>"); for ($i=1; $i<=5; $i++) print ("<LI>Elemento $i</LI>"); print ("</UL>"); ?>
Funciones Ejemplo: function suma ($x, $y) {   	$s = $x + $y; return $s; } $a=1; $b=2; $c=suma ($a, $b); print $c;
Funciones Por defecto los parámetros se pasan por valor Paso por referencia: function incrementa (&$a) {    $a = $a + 1; } $a=1; incrementa ($a); print $a; // Muestra un 2
Funciones Argumentos por defecto functionmuestranombre ($titulo = "Sr.") { print "Estimado $titulo:"; } muestranombre (); muestranombre ("Prof."); Salida: Estimado Sr.: Estimado Prof.:
Funciones Los argumentos con valores por defecto deben ser siempre los últimos: functionmuestranombre ($nombre, $titulo= "Sr.") { print "Estimado $titulo $nombre:"; } muestranombre (“Fernández”); muestranombre (“Fernández”, "Prof."); Salida: Estimado Sr. Fernández: Estimado Prof. Fernández:
Arrays = Tabla ¿Qué es un array? Un array es sencillamente una tabla de valores. Cada uno de los elementos de esa tabla se identifica por medio de un nombre (común para todos) y un índice (que diferenciaría a cada uno de ellos). La sintaxis que permite definir elementos en un array es la siguiente: $nombre[indice] El índice puede ser un número(habría que escribirlo dentro del corchete sin comillas), una cadena (que habría que poner en el corchete encerrada entre comillas sencillas –'–). Cuando los índices de un array son números se dice que es escalar mientras que si fueran cadenas se le llamaría arrayasociativo.
Arrays Unidimensionales Arrays Escalares Los elementos de un array escalar puede escribirse con una de estas sintaxis: $a[]=valor         ó        $a[xx]=valor En el primero se asigna los índices de forma automática, éste es un valor entero y empieza por el 0 (CERO). En el segundo de los casos, seremos nosotros quienes pongamos (xx) el número correspondiente al valor del índice. Arrays Asociativo Los elementos de un array asociativo pueden escribirse usando la siguiente sintaxis: $a['indice']=valor En éste caso estamos obligados a escribir el nombre del índice que habrá de ser una cadena y debe ponerse entre comillas. Tanto en este supuesto como en el anterior, es posible –y bastante frecuente– utilizar como índice el contenido de una variable. El modo de hacerlo sería: $a[$ind]=valor En este caso, sea cual fuere el valor de la variable $ind, el nombre de la variable nunca se pone entre comillas.
Arrays Unidimensionales<< Escalares y Asociativos >> $a[0]=“Domingo” $a[“Primero”]=“Domingo”
Arrays Bidimensionales Arrays Escalares Los elementos de un arraybidimensional escalar pueden escribirse usando una de estas sintaxis: $a[][]=valor  ó      $a[xx][]=valor $a[][xx]=valor  ó  $a[xx][yy]=valor Arrays Asociativo Los elementos de un array asociativo se pueden escribir usando la siguiente sintaxis:$a["indice1"]["indice2"]=valor
La función Array $a= array (índice 0 => valor, ..... , índice n => valor,); Por ejemplo:$z=array (0 => 2,1 => "Pepe",2 => 34.7,3 => "34Ambrosio",);producirá igual resultado que:$z[0]=2;$z[1]="Pepe";$z[2]=34.7;$z[3]="34Ambrosio";
La función Array $a= array (índice 0 => valor, ..... , índice n => valor,); La función array() permite escribir arrays de cualquier dimensión utilizando la técnica de anidado. Ejemplo de array escalar:$z[0][0]=34;$z[0][1]=35;$z[0][2]=36;$z[1][0]=134;$z[1][1]=135;$z[1][2]=136;podríamos hacerlo así:$z=array( 0 => array (0 => 34,                                               1 => 35,                                       2 => 36,),                  1 => array (0 => 134,                                       1 => 135,                                       2 => 136,)                 ); El anidado sucesivo permitiría generar arrays de cualquier dimensión. Ejemplo de array asociativo:$z["a"]["A"]=34;$z["a"]["B"]=35;$z["a"]["C"]=36;$z["b"]["A"]=134;$z["b"]["B"]=135;$z["b"]["C"]=136;que podría definirse también de esta forma: $z=array("a" => array ("A" => 34,                                          "B" => 35,                                          "C" => 36, ),                  "b" => array ("A" => 134,                                          "B" => 135,                                          "C" => 136,)                 );
Bibliotecas de funciones Existen muchas bibliotecas de funciones en PHP Algunos ejemplos: Funciones de manipulación de cadenas Funciones de fecha y hora Funciones de arrays Funciones de ficheros Funciones matemáticas Funciones de bases de datos Funciones de red Algunas bibliotecas requieren la instalación de componentes adicionales Todas las funciones de biblioteca están comentadas en la documentación de PHP
Bibliotecas de funciones Funciones de manipulación de cadenas explode() Divide una cadena en subcadenas arrayexplode (stringseparator, stringstring [, intlimit])  rtrim(), ltrim(), trim() Eliminan caracteres a la derecha, a la izquierda o por ambos lados de una cadena stringrtrim ( stringstr [, stringcharlist])  strstr() Busca la primera ocurrencia de una subcadena strtolower() / strtoupper() Convierte una cadena a minúscula / mayúscula strcmp() / strcasecmp() Compara dos cadenas con/sin distinción de mayúsculas strlen() Calcula la longitud de una cadena
Bibliotecas de funciones Funciones de fecha y hora date() Formatea una fecha según un formato dado Ejemplo: 	$fecha  = date ("j/n/Y H:i"); print ("$fecha"); 	Resultado: 		26/9/2005 17:36 strtotime() Convierte una fecha en un timestamp de UNIX Ejemplo: 	$fecha = date ("j/n/Y", strtotime(“5 april 2001")); print ("$fecha"); 	Resultado: 		5/4/2001
Bibliotecas de funciones Funciones de arrays array_count_values() Calcula la frecuencia de cada uno de los elementos de un array array_search() Busca un elemento en un array count() Cuenta los elementos de un array sort(), rsort() Ordena y reindexa un array (r=decreciente) ksort(), krsort() Ordena por claves un array (r=decreciente)
Formularios Acceso a formularios HTML desde PHP El formulario de PHP Subida de ficheros al servidor Validación de los datos de un formulario
Acceso a formularios desde PHP Desde PHP se puede acceder fácilmente a los datos introducidos desde un formulario HTML Veámoslo con un ejemplo simple
Acceso a formularios desde PHP Fichero uno.php <HTML> <BODY> <FORM ACTION=”dos.php” METHOD=”POST”>    Edad: <INPUT TYPE=”text” NAME=”edad”>    <INPUT TYPE=”submit” VALUE=”aceptar”> </FORM> </BODY> </HTML> Fichero dos.php <HTML> <BODY> <?PHP print (“La edad es: $edad”); ?> </BODY> </HTML>
Acceso a formularios desde PHP
Acceso a formularios desde PHP A partir de PHP 4.2.0, el valor por defecto de la directiva de PHP register_globals es off Esto tiene una gran importancia sobre los formularios, ya que no es posible acceder a las variables enviadas de la manera anterior (como variables globales). En su lugar hay que utilizar la variable predefinida de PHP $_POST, escribiendo $_POST[‘edad’] en lugar de $edad Se puede poner register_globals = on en el fichero de configuración php.ini, pero no es recomendable por motivos de seguridad. Una alternativa que permite hacer mínimos cambios en el código ya existente es la siguiente: 	$edad = $_POST[‘edad’];
Acceso a formularios desde PHP Fichero uno.php <HTML> <BODY> <FORM ACTION=”dos.php” METHOD=”POST”>    Edad: <INPUT TYPE=”text” NAME=”edad”>    <INPUT TYPE=”submit” VALUE=”aceptar”> </FORM> </BODY> </HTML> Fichero dos.php <HTML> <BODY> <?PHP    $edad = $_POST[‘edad’];    print (“La edad es: $edad”); ?> </BODY> </HTML>
Acceso a formularios desde PHP Acceso a los diferentes tipos de elementos de entrada de formulario Elementos de tipo INPUT TEXT RADIO CHECKBOX BUTTON FILE HIDDEN PASSWORD SUBMIT Elemento SELECT Simple / múltiple Elemento TEXTAREA
Acceso a formularios desde PHP TEXT Introduzca la cadena a buscar: <INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20"> <?PHP    $cadena = $_POST[‘cadena’];     print ($cadena); ?>
Acceso a formularios desde PHP RADIO Sexo: <INPUT TYPE="radio" NAME=“sexo" VALUE=“M“ CHECKED>Mujer <INPUT TYPE="radio" NAME=“sexo" VALUE=“H">Hombre <?PHP    $sexo = $_POST[‘sexo’];    print ($sexo); ?>
Acceso a formularios desde PHP CHECKBOX <INPUT TYPE="checkbox" NAME="extras[]" VALUE="garaje" CHECKED>Garaje <INPUT TYPE="checkbox" NAME="extras[]" VALUE="piscina">Piscina <INPUT TYPE="checkbox" NAME="extras[]" VALUE="jardin">Jardín <?PHP    $extras = $_POST[‘extras’];    $n = count ($extras);    for ($i=0; $i<$n; $i++)       print (“$extras[$i]<BR>”);  //foreach ($extras as $extra)     //print (“$extra<BR>”); ?>
Acceso a formularios desde PHP BUTTON <INPUT TYPE="button" NAME=“actualizar" VALUE="Actualizar datos"> <?PHP $actualizar = $_POST[‘actualizar’];    if ($actualizar)       print ("Se han actualizado los datos"); ?>
Acceso a formularios desde PHP FILE <FORM ACTION="procesa.php" METHOD="post“    ENCTYPE="multipart/form-data">    <INPUT TYPE="file" NAME="fichero"> </FORM>
Acceso a formularios desde PHP HIDDEN <?PHP    print(“<INPUT TYPE=’hidden’ NAME=’username’ VALUE=’$usuario’>”); ?> <?PHP    $username = $_POST[‘username’];    print ($username); ?>
Acceso a formularios desde PHP PASSWORD Contraseña: <INPUT TYPE="password" NAME="clave"> <?PHP    $clave = $_POST[‘clave’];       print ($clave); ?>
Acceso a formularios desde PHP SUBMIT <INPUT TYPE="submit" NAME="enviar" VALUE="Enviar datos"> <?PHP    $enviar = $_POST[‘enviar’];    if ($enviar)       print ("Se ha pulsado el botón de enviar"); ?>
Acceso a formularios desde PHP SELECT simple Color: <SELECT NAME=“color">    <OPTION VALUE=“rojo" SELECTED>Rojo    <OPTION VALUE=“verde">Verde    <OPTION VALUE=“azul">Azul </SELECT> <?PHP    $color = $_POST[‘color’];    print ($color); ?>
Acceso a formularios desde PHP SELECT múltiple Idiomas: <SELECT MULTIPLE SIZE="3" NAME="idiomas[]">    <OPTION VALUE="ingles" SELECTED>Inglés    <OPTION VALUE="frances">Francés    <OPTION VALUE="aleman">Alemán    <OPTION VALUE="holandes">Holandés </SELECT> <?PHP    $idiomas = $_POST[‘idiomas’];    $n = count ($idiomas);    for ($i=0; $i<$n; $i++)       print (“$idiomas[$i]<BR>”);    //foreach ($idiomas as $idioma)       //print (“$idioma<BR>”); ?>
Acceso a formularios desde PHP TEXTAREA Comentario: <TEXTAREA COLS=“50" ROWS=“4" NAME="comentario"> Este libro me parece ... </TEXTAREA> <?PHP    $comentario = $_POST[‘comentario’];    print ($comentario); ?>
El formulario de PHP La forma habitual de trabajar con formularios en PHP es utilizar un único programa que procese el formulario o lo muestre según haya sido o no enviado, respectivamente Ventajas: Disminuye el número de ficheros Permite validar los datos del formulario en el propio formulario Procedimiento: si se ha enviado el formulario:    Procesar formulario si no:    Mostrar formulario fsi
El formulario de PHP Esquema de funcionamiento: a) b) si se ha enviado el formulario:    Procesar formulario si no:    Mostrar formulario fsi ,[object Object]
La 2ª vez se procesa el formulario (b),[object Object]

Contenu connexe

Tendances

CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION Katherine Parra
 
2 manipulacion de datos..
2 manipulacion de datos..2 manipulacion de datos..
2 manipulacion de datos..alithu1
 
Sistemas operativos-para-servidores
Sistemas operativos-para-servidoresSistemas operativos-para-servidores
Sistemas operativos-para-servidorespelaodioses
 
Generaciones de los lenguajes de programacion pptx
Generaciones de los lenguajes de programacion pptxGeneraciones de los lenguajes de programacion pptx
Generaciones de los lenguajes de programacion pptxyenicamejo
 
Teoria de los lenguajes de programacion
Teoria de los lenguajes de programacionTeoria de los lenguajes de programacion
Teoria de los lenguajes de programacionMario Bastidas
 
3 . Representación del conocimiento y razonamiento
3 . Representación del conocimiento y razonamiento3 . Representación del conocimiento y razonamiento
3 . Representación del conocimiento y razonamientoHumberto Chalate Jorge
 
Cuadro comparativo lenguajes
Cuadro comparativo lenguajesCuadro comparativo lenguajes
Cuadro comparativo lenguajesBrian Ruvalcaba
 
Elementos primordiales en el modelo de objetos
Elementos primordiales en el modelo de objetosElementos primordiales en el modelo de objetos
Elementos primordiales en el modelo de objetosCriiztiian Mendoza
 
Act.4 - Cuadro comparativo - Lengujes de desarrollo
Act.4 - Cuadro comparativo - Lengujes de desarrolloAct.4 - Cuadro comparativo - Lengujes de desarrollo
Act.4 - Cuadro comparativo - Lengujes de desarrolloDafne Alcantar
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normalITCV
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioJosé Antonio Sandoval Acosta
 
Sistemas operativos propietarios y libres
Sistemas operativos propietarios y libresSistemas operativos propietarios y libres
Sistemas operativos propietarios y libresChinely Peláez
 
Modelo entidad relacion extendido
Modelo entidad relacion extendidoModelo entidad relacion extendido
Modelo entidad relacion extendidoJosafat Mtz
 
Aplicaciones Moviles
Aplicaciones MovilesAplicaciones Moviles
Aplicaciones MovilesSara1277
 
Que es un sistemas operativo y los recursos que administra
Que es un sistemas operativo y los recursos que administraQue es un sistemas operativo y los recursos que administra
Que es un sistemas operativo y los recursos que administraAlex Gzjz
 
Análisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoAnálisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoangiepao1717
 

Tendances (20)

Expo fedora
Expo fedoraExpo fedora
Expo fedora
 
CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION
 
2 manipulacion de datos..
2 manipulacion de datos..2 manipulacion de datos..
2 manipulacion de datos..
 
Sistemas operativos-para-servidores
Sistemas operativos-para-servidoresSistemas operativos-para-servidores
Sistemas operativos-para-servidores
 
Generaciones de los lenguajes de programacion pptx
Generaciones de los lenguajes de programacion pptxGeneraciones de los lenguajes de programacion pptx
Generaciones de los lenguajes de programacion pptx
 
Teoria de los lenguajes de programacion
Teoria de los lenguajes de programacionTeoria de los lenguajes de programacion
Teoria de los lenguajes de programacion
 
Ingeniería web_Unidad 3
Ingeniería web_Unidad 3Ingeniería web_Unidad 3
Ingeniería web_Unidad 3
 
3 . Representación del conocimiento y razonamiento
3 . Representación del conocimiento y razonamiento3 . Representación del conocimiento y razonamiento
3 . Representación del conocimiento y razonamiento
 
Semántica
SemánticaSemántica
Semántica
 
Cuadro comparativo lenguajes
Cuadro comparativo lenguajesCuadro comparativo lenguajes
Cuadro comparativo lenguajes
 
El barbero-dormilón
El barbero-dormilónEl barbero-dormilón
El barbero-dormilón
 
Elementos primordiales en el modelo de objetos
Elementos primordiales en el modelo de objetosElementos primordiales en el modelo de objetos
Elementos primordiales en el modelo de objetos
 
Act.4 - Cuadro comparativo - Lengujes de desarrollo
Act.4 - Cuadro comparativo - Lengujes de desarrolloAct.4 - Cuadro comparativo - Lengujes de desarrollo
Act.4 - Cuadro comparativo - Lengujes de desarrollo
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
 
Sistemas operativos propietarios y libres
Sistemas operativos propietarios y libresSistemas operativos propietarios y libres
Sistemas operativos propietarios y libres
 
Modelo entidad relacion extendido
Modelo entidad relacion extendidoModelo entidad relacion extendido
Modelo entidad relacion extendido
 
Aplicaciones Moviles
Aplicaciones MovilesAplicaciones Moviles
Aplicaciones Moviles
 
Que es un sistemas operativo y los recursos que administra
Que es un sistemas operativo y los recursos que administraQue es un sistemas operativo y los recursos que administra
Que es un sistemas operativo y los recursos que administra
 
Análisis léxico y análisis sintáctico
Análisis léxico y análisis sintácticoAnálisis léxico y análisis sintáctico
Análisis léxico y análisis sintáctico
 

En vedette (14)

Sketches
SketchesSketches
Sketches
 
Udrinconada
UdrinconadaUdrinconada
Udrinconada
 
Elvs Prsly Rare 102
Elvs Prsly Rare 102Elvs Prsly Rare 102
Elvs Prsly Rare 102
 
T A L L E R P R A C T I C O D E I N T E R N E T
T A L L E R  P R A C T I C O  D E  I N T E R N E TT A L L E R  P R A C T I C O  D E  I N T E R N E T
T A L L E R P R A C T I C O D E I N T E R N E T
 
Pack5
Pack5Pack5
Pack5
 
Climax organizacional
Climax organizacionalClimax organizacional
Climax organizacional
 
Australia, 2
Australia, 2Australia, 2
Australia, 2
 
Aula Virtual
Aula VirtualAula Virtual
Aula Virtual
 
Historia y características de php
Historia y características  de phpHistoria y características  de php
Historia y características de php
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Alternativas a los Applets de Java para la realización de firmas electrónicas...
Alternativas a los Applets de Java para la realización de firmas electrónicas...Alternativas a los Applets de Java para la realización de firmas electrónicas...
Alternativas a los Applets de Java para la realización de firmas electrónicas...
 
Ds 023 2011-pcm
Ds 023 2011-pcmDs 023 2011-pcm
Ds 023 2011-pcm
 
Sesion1 Php Basico
Sesion1 Php BasicoSesion1 Php Basico
Sesion1 Php Basico
 
Estudio de mercado
Estudio de mercadoEstudio de mercado
Estudio de mercado
 

Similaire à Proyectos Web 3 Introduccion Php (20)

Elementos del Hardware y Software
Elementos del Hardware y SoftwareElementos del Hardware y Software
Elementos del Hardware y Software
 
Tema2[php]
Tema2[php]Tema2[php]
Tema2[php]
 
Especialista Web J9 Php
Especialista Web J9  PhpEspecialista Web J9  Php
Especialista Web J9 Php
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
Php
PhpPhp
Php
 
PHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básicoPHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básico
 
Introducción a php
Introducción a phpIntroducción a php
Introducción a php
 
Php Basico
Php BasicoPhp Basico
Php Basico
 
Curso php dia2
Curso php dia2Curso php dia2
Curso php dia2
 
Tema2 3
Tema2 3Tema2 3
Tema2 3
 
0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf
 
Programación en PHP
Programación en PHPProgramación en PHP
Programación en PHP
 
Mini manual php
Mini manual phpMini manual php
Mini manual php
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Mini manual php
Mini manual phpMini manual php
Mini manual php
 
Manual de php basico
Manual de php basicoManual de php basico
Manual de php basico
 
Programacion php
Programacion phpProgramacion php
Programacion php
 
Presentacion
PresentacionPresentacion
Presentacion
 
Php informacion
Php informacion Php informacion
Php informacion
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 

Plus de Jose Ponce

Insertar Videos Youtube en Moodle
Insertar Videos Youtube en MoodleInsertar Videos Youtube en Moodle
Insertar Videos Youtube en MoodleJose Ponce
 
Net1 capitulo iii - estructuras condicionales
Net1   capitulo iii - estructuras condicionalesNet1   capitulo iii - estructuras condicionales
Net1 capitulo iii - estructuras condicionalesJose Ponce
 
Net1 capitulo ii - variables de memoria & array
Net1   capitulo ii - variables de memoria & arrayNet1   capitulo ii - variables de memoria & array
Net1 capitulo ii - variables de memoria & arrayJose Ponce
 
Sesion 1 introduccion a moodle
Sesion 1  introduccion a moodleSesion 1  introduccion a moodle
Sesion 1 introduccion a moodleJose Ponce
 
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...Jose Ponce
 
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My SqlJose Ponce
 
Guia N4 Proyectos Web My Sql Y Php
Guia N4   Proyectos Web   My Sql Y PhpGuia N4   Proyectos Web   My Sql Y Php
Guia N4 Proyectos Web My Sql Y PhpJose Ponce
 
Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, JsJose Ponce
 
Guia N2 Proyectos Web Php
Guia N2   Proyectos Web   PhpGuia N2   Proyectos Web   Php
Guia N2 Proyectos Web PhpJose Ponce
 
Guia N1 Proyectos Web Html
Guia N1   Proyectos Web   HtmlGuia N1   Proyectos Web   Html
Guia N1 Proyectos Web HtmlJose Ponce
 
Practica Uno Delphi
Practica Uno DelphiPractica Uno Delphi
Practica Uno DelphiJose Ponce
 
Practica Tres Delphi
Practica Tres DelphiPractica Tres Delphi
Practica Tres DelphiJose Ponce
 
Practica Siete Delphi
Practica Siete  DelphiPractica Siete  Delphi
Practica Siete DelphiJose Ponce
 
Practica Seis Delphi
Practica Seis DelphiPractica Seis Delphi
Practica Seis DelphiJose Ponce
 
Practica Dos Delphi
Practica Dos DelphiPractica Dos Delphi
Practica Dos DelphiJose Ponce
 
Practica Cuatro Delphi
Practica Cuatro  DelphiPractica Cuatro  Delphi
Practica Cuatro DelphiJose Ponce
 
Practica Cinco Delphi
Practica Cinco DelphiPractica Cinco Delphi
Practica Cinco DelphiJose Ponce
 
Manual de Joomla
Manual de JoomlaManual de Joomla
Manual de JoomlaJose Ponce
 
Proyectos Web 1 Fundamentos
Proyectos Web   1 FundamentosProyectos Web   1 Fundamentos
Proyectos Web 1 FundamentosJose Ponce
 

Plus de Jose Ponce (20)

Insertar Videos Youtube en Moodle
Insertar Videos Youtube en MoodleInsertar Videos Youtube en Moodle
Insertar Videos Youtube en Moodle
 
Net1 capitulo iii - estructuras condicionales
Net1   capitulo iii - estructuras condicionalesNet1   capitulo iii - estructuras condicionales
Net1 capitulo iii - estructuras condicionales
 
Net1 capitulo ii - variables de memoria & array
Net1   capitulo ii - variables de memoria & arrayNet1   capitulo ii - variables de memoria & array
Net1 capitulo ii - variables de memoria & array
 
Sesion 1 introduccion a moodle
Sesion 1  introduccion a moodleSesion 1  introduccion a moodle
Sesion 1 introduccion a moodle
 
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...
PROYECTO “MEJORAMIENTO DE LA PRODUCCIÓN AGROPECUARIA RECURSOS NATURALES Y MED...
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My Sql
 
Guia N4 Proyectos Web My Sql Y Php
Guia N4   Proyectos Web   My Sql Y PhpGuia N4   Proyectos Web   My Sql Y Php
Guia N4 Proyectos Web My Sql Y Php
 
Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, Js
 
Guia N2 Proyectos Web Php
Guia N2   Proyectos Web   PhpGuia N2   Proyectos Web   Php
Guia N2 Proyectos Web Php
 
Guia N1 Proyectos Web Html
Guia N1   Proyectos Web   HtmlGuia N1   Proyectos Web   Html
Guia N1 Proyectos Web Html
 
Practica Uno Delphi
Practica Uno DelphiPractica Uno Delphi
Practica Uno Delphi
 
Practica Tres Delphi
Practica Tres DelphiPractica Tres Delphi
Practica Tres Delphi
 
Practica Siete Delphi
Practica Siete  DelphiPractica Siete  Delphi
Practica Siete Delphi
 
Practica Seis Delphi
Practica Seis DelphiPractica Seis Delphi
Practica Seis Delphi
 
Practica Dos Delphi
Practica Dos DelphiPractica Dos Delphi
Practica Dos Delphi
 
Practica Cuatro Delphi
Practica Cuatro  DelphiPractica Cuatro  Delphi
Practica Cuatro Delphi
 
Practica Cinco Delphi
Practica Cinco DelphiPractica Cinco Delphi
Practica Cinco Delphi
 
Manual de Joomla
Manual de JoomlaManual de Joomla
Manual de Joomla
 
Proyectos Web 1 Fundamentos
Proyectos Web   1 FundamentosProyectos Web   1 Fundamentos
Proyectos Web 1 Fundamentos
 

Dernier

Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 

Dernier (20)

Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 

Proyectos Web 3 Introduccion Php

  • 1. Instituto Superior Tecnológico Público“Francisco de Paula Gonzáles Vigil”Carrera Profesional de Computación e Informática “PROYECTOS WEB" Tema 3:Lenguaje PHP Lic. José Luis Ponce Segura jlponcesg@hotmail.com www.redtacna.net
  • 2. Introducción a PHP Lenguajes de script PHP es un lenguaje de script del lado del servidor. Otros lenguajes similares son ASP, JSP o ColdFusion Los scripts PHP están incrustados en los documentos HTML y el servidor los interpreta y ejecuta antes de servir las páginas al cliente El cliente no ve el código PHP sino los resultados que produce
  • 3. Introducción a PHP ¿Cómo funciona PHP? Cliente (navegador) Servidor web PáginaHTML PáginaHTML internet <P>Hola, Ana</P>
  • 4. Introducción a PHP ¿Cómo funciona PHP? Cliente (navegador) Servidor web PáginaPHP PáginaHTML PáginaHTML internet Intérprete PHP <?PHP $nombre = "Ana"; print ("<P>Hola, $nombre</P>"); ?> <P>Hola, Ana</P>
  • 5. Introducción a PHP Breve historia de PHP Creado por Rasmus Lerdorf para uso personal en 1994 PHP = Personal Hypertext Processor Versión actual: PHP 5 Es un módulo que se añade al servidor web y fue concebido inicialmente para Apache ¿Por qué PHP? Por sus ventajas: es potente, 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
  • 6. Introducción a PHP Requisitos Servidor web Apache (www.apache.org) con el módulo PHP (www.php.net) y la base de datos MySQL (www.mysql.com) si se desea crear páginas dinámicas Otras utilidades Herramientas para la gestión de MySQL, como PHPMyAdmin (www.phpmyadmin.net) Editores de PHP, como DevPHP (www.sourceforge.net) o Eclipse (www.eclipse.org) Manuales de PHP y MySQL
  • 7. Lenguaje PHP básico Sintaxis básica Tipos de datos Variables Constantes Expresiones y operadores Estructuras de control Funciones Tablas Bibliotecas de funciones
  • 8. Sintaxis básica PHP es sensible a las mayúsculas ¿Cómo se incrusta en la página web? <?PHP ... ?> recomendado, siempre disponible <?= expresión ?> equivale a <? echo expresión ?> Las instrucciones se separan con un ; como en C. La marca final ?> implica un ; Comentarios: como en C, /* … */ y //
  • 9. Sintaxis básica Para imprimir: echo y print echo: muestra una o más cadenas echo cadena1 [, cadena2…]; // no es una función echo “Hola mundo”; echo “Hola “, “mundo”; print: muestra una cadena print cadena; // no es una función print “Hola mundo”; print “Hola “ . “mundo”;
  • 10. Sintaxis básica Ejemplo: <HTML> <HEAD> <TITLE>Mi primer programa en PHP</TITLE> </HEAD> <BODY> <?PHP print (“<P>Hola mundo</P>”); ?> </BODY> </HTML>
  • 11. Sintaxis básica Uso de para generar código HTML legible a) Sin print (“<P>Párrafo 1</P>”); print (“<P>Párrafo 2</P>”); Código PHP <P>Párrafo 1</P><P>Párrafo 2</P> Código HTML Párrafo 1 Párrafo 2 Salida
  • 12. Sintaxis básica Uso de para generar código HTML legible b) Con print (“<P>Párrafo 1</P>”); print (“<P>Párrafo 2</P>”); Código PHP <P>Párrafo 1</P> <P>Párrafo 2</P> Código HTML Párrafo 1 Párrafo 2 Salida
  • 13. Sintaxis básica Inclusión de ficheros externos: include() require() Ambos incluyen y evalúan el fichero especificado Diferencia: en caso de error include() produce un warning y require() un error fatal Se usará require() si al producirse un error debe interrumpirse la carga de la página Ejemplo:
  • 14. Sintaxis básica <HTML> <HEAD> <TITLE>Título</TITLE> <?PHP // Incluir bibliotecas de funciones require ("conecta.php"); require ("fecha.php"); require ("cadena.php"); require ("globals.php"); ?> </HEAD> <BODY> <?PHP include ("cabecera.html"); ?> // Código HTML + PHP . . . <?PHP include ("pie.html"); ?> </BODY> </HTML>
  • 15. Tipos de datos PHP soporta 8 tipos de datos primitivos: Tipos escalares: boolean, integer, double, string Tipos compuestos: array, object Tipos especiales: resource, NULL El tipo de una variable no se suele especificar. Se decide en tiempo de ejecución en función del contexto y puede variar Funciones de interés: La función gettype() devuelve el tipo de una variable Las funciones is_type comprueban si una variable es de un tipo dado: is_array(), is_bool(), is_float(), is_integer(), is_null(), is_numeric(), is_object(), is_resource(), is_scalar(), is_string() La función var_dump() muestra el tipo y el valor de una variable. Es especialmente interesante con los arrays
  • 16. Tipos de datos Tipo integer (números enteros) 27, -5, 0 Tipo double (números reales) 1.234, -5.33 Tipo boolean (lógico) Valores: true, false (insensibles a las mayúsculas) El 0 y la cadena vacía tienen valor false
  • 17. Tipos de datos Tipo string: Las cadenas se encierran entre comillas simples o dobles: ‘simples’: admite los caracteres de escape (comilla simple) y (barra). Las variables NO se expanden “dobles”: admite más caracteres de escape, como , , , , , . Los nombres de variables SÍ se expanden Ejemplos: $a = 9; print ‘a vale $a’; // muestra a vale $a print “a vale $a”; // muestra a vale 9y avanza una línea print “<IMG SRC=‘logo.gif’>”; // muestra <IMG SRC=‘logo.gif’> print “<IMG SRC=logo.gif>”; // muestra <IMG SRC=“logo.gif”> Acceso a un carácter de la cadena: La forma es $inicial = $nombre{0};
  • 18. Variables Las variables siempre van precedidas de un $ El nombre es sensible a las mayúsculas Comienzan por letra o subrayado, seguido de letras, números o subrayado Variables predefinidas: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES, $_ENV, $_REQUEST, $_SESSION Ámbito: globales al fichero (excepto funciones) o locales a una función Ejemplo: $valor = 5; print “El valor es: “ . $valor . “”; print “El valor es: $valor”; // ojo: comillas dobles Resultado: El valor es: 5
  • 19. Variables Variables variables Se pueden crear nombres de variables dinámicamente La variable variable toma su nombre del valor de otra variable previamente declarada Ejemplo: $a = "hola"; $$a = "mundo"; print "$a $hola"; print "$a ${$a}"; Resultado: hola mundo hola mundo
  • 20.
  • 21.
  • 22. Constantes Definición de constantes: define (“CONSTANTE”, “hola”); print CONSTANTE; No llevan $ delante Sólo se pueden definir constantes de los tipos escalares (boolean, integer, double, string)
  • 23. Expresiones y operadores Operadores aritméticos: +, -, *, /, %, ++, -- Operador de asignación: = operadores combinados: .=, +=, etc $a = 3; $a += 5;  a vale 8 $b = “hola ”; $b .= “mundo”;  b vale “hola mundo” Equivale a $b = $b . “mundo”; Operadores de comparación: ==, !=, <, >, <=, >= y otros Operador de control de error: @. Antepuesto a una expresión, evita cualquier mensaje de error que pueda ser generado por la expresión Operadores lógicos: and (&&), or (||), !, xor and/&& y or/|| tienen diferentes prioridades Operadores de cadena: concatenación: . (punto) asignación con concatenación: .=
  • 24. Expresiones y operadores Precedencia de operadores (de mayor a menor): ++, -- *, /, % +,- <, <=, >, >= ==, != && || and or
  • 25. Estructuras de control Estructuras selectivas: if-else switch Estructuras repetitivas: while for foreach
  • 26. Estructuras de control Estructura selectiva if-else Mismo comportamiento que en C Las sentencias compuestas se encierran entre llaves elseif puede ir todo junto if (condición) sentencia if (condición1) sentencia 1 else if (condición2) sentencia 2 ... else if (condición n) sentencia n else sentencia n+1 if (condición) sentencia 1 else sentencia 2
  • 27. Estructuras de control Ejemplo de estructura selectiva if-else: <?PHP if ($sexo == ‘M’) $saludo = "Bienvenida, "; else $saludo = "Bienvenido, "; $saludo = $saludo . $nombre; print ($saludo); ?>
  • 28. Estructuras de control Estructura selectiva switch switch (expresión) { case valor_1: sentencia 1 break; case valor_2: sentencia 2 break; … case valor_n: sentencia n break; default sentencia n+1 } Mismo comportamiento que en C, sólo que la expresión del case puede ser integer, float o string
  • 29. Estructuras de control Ejemplo de estructura selectiva switch: switch ($extension) { case ("PDF"): $tipo = "Documento Adobe PDF"; break; case ("TXT"): $tipo = "Documento de texto"; break; case ("HTML"): case ("HTM"): $tipo = "Documento HTML"; break; default: $tipo = "Archivo " . $extension; } print ($tipo);
  • 30. Estructuras de control Estructura repetitiva while while (condición) sentencia Mismo comportamiento que en C
  • 31. Estructuras de control Ejemplo de estructura repetitiva while: <?PHP print ("<UL>"); $i=1; while ($i <= 5) { print ("<LI>Elemento $i</LI>"); $i++; } print ("</UL>"); ?>
  • 32. Estructuras de control Estructura repetitiva for for (inicialización; condición; incremento) sentencia Mismo comportamiento que en C
  • 33. Estructuras de control Ejemplo de estructura repetitiva for: <?PHP print ("<UL>"); for ($i=1; $i<=5; $i++) print ("<LI>Elemento $i</LI>"); print ("</UL>"); ?>
  • 34. Funciones Ejemplo: function suma ($x, $y) { $s = $x + $y; return $s; } $a=1; $b=2; $c=suma ($a, $b); print $c;
  • 35. Funciones Por defecto los parámetros se pasan por valor Paso por referencia: function incrementa (&$a) { $a = $a + 1; } $a=1; incrementa ($a); print $a; // Muestra un 2
  • 36. Funciones Argumentos por defecto functionmuestranombre ($titulo = "Sr.") { print "Estimado $titulo:"; } muestranombre (); muestranombre ("Prof."); Salida: Estimado Sr.: Estimado Prof.:
  • 37. Funciones Los argumentos con valores por defecto deben ser siempre los últimos: functionmuestranombre ($nombre, $titulo= "Sr.") { print "Estimado $titulo $nombre:"; } muestranombre (“Fernández”); muestranombre (“Fernández”, "Prof."); Salida: Estimado Sr. Fernández: Estimado Prof. Fernández:
  • 38. Arrays = Tabla ¿Qué es un array? Un array es sencillamente una tabla de valores. Cada uno de los elementos de esa tabla se identifica por medio de un nombre (común para todos) y un índice (que diferenciaría a cada uno de ellos). La sintaxis que permite definir elementos en un array es la siguiente: $nombre[indice] El índice puede ser un número(habría que escribirlo dentro del corchete sin comillas), una cadena (que habría que poner en el corchete encerrada entre comillas sencillas –'–). Cuando los índices de un array son números se dice que es escalar mientras que si fueran cadenas se le llamaría arrayasociativo.
  • 39. Arrays Unidimensionales Arrays Escalares Los elementos de un array escalar puede escribirse con una de estas sintaxis: $a[]=valor ó $a[xx]=valor En el primero se asigna los índices de forma automática, éste es un valor entero y empieza por el 0 (CERO). En el segundo de los casos, seremos nosotros quienes pongamos (xx) el número correspondiente al valor del índice. Arrays Asociativo Los elementos de un array asociativo pueden escribirse usando la siguiente sintaxis: $a['indice']=valor En éste caso estamos obligados a escribir el nombre del índice que habrá de ser una cadena y debe ponerse entre comillas. Tanto en este supuesto como en el anterior, es posible –y bastante frecuente– utilizar como índice el contenido de una variable. El modo de hacerlo sería: $a[$ind]=valor En este caso, sea cual fuere el valor de la variable $ind, el nombre de la variable nunca se pone entre comillas.
  • 40. Arrays Unidimensionales<< Escalares y Asociativos >> $a[0]=“Domingo” $a[“Primero”]=“Domingo”
  • 41. Arrays Bidimensionales Arrays Escalares Los elementos de un arraybidimensional escalar pueden escribirse usando una de estas sintaxis: $a[][]=valor ó $a[xx][]=valor $a[][xx]=valor ó $a[xx][yy]=valor Arrays Asociativo Los elementos de un array asociativo se pueden escribir usando la siguiente sintaxis:$a["indice1"]["indice2"]=valor
  • 42. La función Array $a= array (índice 0 => valor, ..... , índice n => valor,); Por ejemplo:$z=array (0 => 2,1 => "Pepe",2 => 34.7,3 => "34Ambrosio",);producirá igual resultado que:$z[0]=2;$z[1]="Pepe";$z[2]=34.7;$z[3]="34Ambrosio";
  • 43. La función Array $a= array (índice 0 => valor, ..... , índice n => valor,); La función array() permite escribir arrays de cualquier dimensión utilizando la técnica de anidado. Ejemplo de array escalar:$z[0][0]=34;$z[0][1]=35;$z[0][2]=36;$z[1][0]=134;$z[1][1]=135;$z[1][2]=136;podríamos hacerlo así:$z=array( 0 => array (0 => 34, 1 => 35, 2 => 36,), 1 => array (0 => 134, 1 => 135, 2 => 136,) ); El anidado sucesivo permitiría generar arrays de cualquier dimensión. Ejemplo de array asociativo:$z["a"]["A"]=34;$z["a"]["B"]=35;$z["a"]["C"]=36;$z["b"]["A"]=134;$z["b"]["B"]=135;$z["b"]["C"]=136;que podría definirse también de esta forma: $z=array("a" => array ("A" => 34, "B" => 35, "C" => 36, ), "b" => array ("A" => 134, "B" => 135, "C" => 136,) );
  • 44. Bibliotecas de funciones Existen muchas bibliotecas de funciones en PHP Algunos ejemplos: Funciones de manipulación de cadenas Funciones de fecha y hora Funciones de arrays Funciones de ficheros Funciones matemáticas Funciones de bases de datos Funciones de red Algunas bibliotecas requieren la instalación de componentes adicionales Todas las funciones de biblioteca están comentadas en la documentación de PHP
  • 45. Bibliotecas de funciones Funciones de manipulación de cadenas explode() Divide una cadena en subcadenas arrayexplode (stringseparator, stringstring [, intlimit]) rtrim(), ltrim(), trim() Eliminan caracteres a la derecha, a la izquierda o por ambos lados de una cadena stringrtrim ( stringstr [, stringcharlist]) strstr() Busca la primera ocurrencia de una subcadena strtolower() / strtoupper() Convierte una cadena a minúscula / mayúscula strcmp() / strcasecmp() Compara dos cadenas con/sin distinción de mayúsculas strlen() Calcula la longitud de una cadena
  • 46. Bibliotecas de funciones Funciones de fecha y hora date() Formatea una fecha según un formato dado Ejemplo: $fecha = date ("j/n/Y H:i"); print ("$fecha"); Resultado: 26/9/2005 17:36 strtotime() Convierte una fecha en un timestamp de UNIX Ejemplo: $fecha = date ("j/n/Y", strtotime(“5 april 2001")); print ("$fecha"); Resultado: 5/4/2001
  • 47. Bibliotecas de funciones Funciones de arrays array_count_values() Calcula la frecuencia de cada uno de los elementos de un array array_search() Busca un elemento en un array count() Cuenta los elementos de un array sort(), rsort() Ordena y reindexa un array (r=decreciente) ksort(), krsort() Ordena por claves un array (r=decreciente)
  • 48. Formularios Acceso a formularios HTML desde PHP El formulario de PHP Subida de ficheros al servidor Validación de los datos de un formulario
  • 49. Acceso a formularios desde PHP Desde PHP se puede acceder fácilmente a los datos introducidos desde un formulario HTML Veámoslo con un ejemplo simple
  • 50. Acceso a formularios desde PHP Fichero uno.php <HTML> <BODY> <FORM ACTION=”dos.php” METHOD=”POST”> Edad: <INPUT TYPE=”text” NAME=”edad”> <INPUT TYPE=”submit” VALUE=”aceptar”> </FORM> </BODY> </HTML> Fichero dos.php <HTML> <BODY> <?PHP print (“La edad es: $edad”); ?> </BODY> </HTML>
  • 51. Acceso a formularios desde PHP
  • 52. Acceso a formularios desde PHP A partir de PHP 4.2.0, el valor por defecto de la directiva de PHP register_globals es off Esto tiene una gran importancia sobre los formularios, ya que no es posible acceder a las variables enviadas de la manera anterior (como variables globales). En su lugar hay que utilizar la variable predefinida de PHP $_POST, escribiendo $_POST[‘edad’] en lugar de $edad Se puede poner register_globals = on en el fichero de configuración php.ini, pero no es recomendable por motivos de seguridad. Una alternativa que permite hacer mínimos cambios en el código ya existente es la siguiente: $edad = $_POST[‘edad’];
  • 53. Acceso a formularios desde PHP Fichero uno.php <HTML> <BODY> <FORM ACTION=”dos.php” METHOD=”POST”> Edad: <INPUT TYPE=”text” NAME=”edad”> <INPUT TYPE=”submit” VALUE=”aceptar”> </FORM> </BODY> </HTML> Fichero dos.php <HTML> <BODY> <?PHP $edad = $_POST[‘edad’]; print (“La edad es: $edad”); ?> </BODY> </HTML>
  • 54. Acceso a formularios desde PHP Acceso a los diferentes tipos de elementos de entrada de formulario Elementos de tipo INPUT TEXT RADIO CHECKBOX BUTTON FILE HIDDEN PASSWORD SUBMIT Elemento SELECT Simple / múltiple Elemento TEXTAREA
  • 55. Acceso a formularios desde PHP TEXT Introduzca la cadena a buscar: <INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20"> <?PHP $cadena = $_POST[‘cadena’]; print ($cadena); ?>
  • 56. Acceso a formularios desde PHP RADIO Sexo: <INPUT TYPE="radio" NAME=“sexo" VALUE=“M“ CHECKED>Mujer <INPUT TYPE="radio" NAME=“sexo" VALUE=“H">Hombre <?PHP $sexo = $_POST[‘sexo’]; print ($sexo); ?>
  • 57. Acceso a formularios desde PHP CHECKBOX <INPUT TYPE="checkbox" NAME="extras[]" VALUE="garaje" CHECKED>Garaje <INPUT TYPE="checkbox" NAME="extras[]" VALUE="piscina">Piscina <INPUT TYPE="checkbox" NAME="extras[]" VALUE="jardin">Jardín <?PHP $extras = $_POST[‘extras’]; $n = count ($extras); for ($i=0; $i<$n; $i++) print (“$extras[$i]<BR>”); //foreach ($extras as $extra) //print (“$extra<BR>”); ?>
  • 58. Acceso a formularios desde PHP BUTTON <INPUT TYPE="button" NAME=“actualizar" VALUE="Actualizar datos"> <?PHP $actualizar = $_POST[‘actualizar’]; if ($actualizar) print ("Se han actualizado los datos"); ?>
  • 59. Acceso a formularios desde PHP FILE <FORM ACTION="procesa.php" METHOD="post“ ENCTYPE="multipart/form-data"> <INPUT TYPE="file" NAME="fichero"> </FORM>
  • 60. Acceso a formularios desde PHP HIDDEN <?PHP print(“<INPUT TYPE=’hidden’ NAME=’username’ VALUE=’$usuario’>”); ?> <?PHP $username = $_POST[‘username’]; print ($username); ?>
  • 61. Acceso a formularios desde PHP PASSWORD Contraseña: <INPUT TYPE="password" NAME="clave"> <?PHP $clave = $_POST[‘clave’]; print ($clave); ?>
  • 62. Acceso a formularios desde PHP SUBMIT <INPUT TYPE="submit" NAME="enviar" VALUE="Enviar datos"> <?PHP $enviar = $_POST[‘enviar’]; if ($enviar) print ("Se ha pulsado el botón de enviar"); ?>
  • 63. Acceso a formularios desde PHP SELECT simple Color: <SELECT NAME=“color"> <OPTION VALUE=“rojo" SELECTED>Rojo <OPTION VALUE=“verde">Verde <OPTION VALUE=“azul">Azul </SELECT> <?PHP $color = $_POST[‘color’]; print ($color); ?>
  • 64. Acceso a formularios desde PHP SELECT múltiple Idiomas: <SELECT MULTIPLE SIZE="3" NAME="idiomas[]"> <OPTION VALUE="ingles" SELECTED>Inglés <OPTION VALUE="frances">Francés <OPTION VALUE="aleman">Alemán <OPTION VALUE="holandes">Holandés </SELECT> <?PHP $idiomas = $_POST[‘idiomas’]; $n = count ($idiomas); for ($i=0; $i<$n; $i++) print (“$idiomas[$i]<BR>”); //foreach ($idiomas as $idioma) //print (“$idioma<BR>”); ?>
  • 65. Acceso a formularios desde PHP TEXTAREA Comentario: <TEXTAREA COLS=“50" ROWS=“4" NAME="comentario"> Este libro me parece ... </TEXTAREA> <?PHP $comentario = $_POST[‘comentario’]; print ($comentario); ?>
  • 66. El formulario de PHP La forma habitual de trabajar con formularios en PHP es utilizar un único programa que procese el formulario o lo muestre según haya sido o no enviado, respectivamente Ventajas: Disminuye el número de ficheros Permite validar los datos del formulario en el propio formulario Procedimiento: si se ha enviado el formulario: Procesar formulario si no: Mostrar formulario fsi
  • 67.
  • 68.