SlideShare ist ein Scribd-Unternehmen logo
1 von 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]

Weitere ähnliche Inhalte

Was ist angesagt?

Clp varios modelos
Clp varios modelosClp varios modelos
Clp varios modelosdetectfelix
 
Manual de formateo de sistema operativo
Manual de formateo de sistema operativoManual de formateo de sistema operativo
Manual de formateo de sistema operativoJhon Ortiz
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-cClariza
 
Proyecto final informática.
Proyecto final informática.Proyecto final informática.
Proyecto final informática.GladysCharles
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y ExpresionesYenny Salazar
 
Diagrama de flujo mantenimiento preventivo sw.
Diagrama de flujo mantenimiento preventivo sw.Diagrama de flujo mantenimiento preventivo sw.
Diagrama de flujo mantenimiento preventivo sw.Clc Jrm
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJSBEEVA_es
 
Herramientas ofimáticas de software libre
Herramientas ofimáticas de software libreHerramientas ofimáticas de software libre
Herramientas ofimáticas de software libreMaria Fabiola
 
SISTEMAS MULTIUSUARIOS
SISTEMAS MULTIUSUARIOSSISTEMAS MULTIUSUARIOS
SISTEMAS MULTIUSUARIOSFerSelena
 
Scrum y la gestión de proyecto Web
Scrum y la gestión de proyecto WebScrum y la gestión de proyecto Web
Scrum y la gestión de proyecto Webinvestic
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingStephan Cadene
 
Evolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programaciónEvolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programaciónjuanbryanc
 
Cuadro comparativo de los editores de texto en java
Cuadro comparativo de los editores de texto en javaCuadro comparativo de los editores de texto en java
Cuadro comparativo de los editores de texto en javajose manuel plata cabello
 

Was ist angesagt? (20)

Arreglos
ArreglosArreglos
Arreglos
 
Clp varios modelos
Clp varios modelosClp varios modelos
Clp varios modelos
 
Soporte tecnico
Soporte tecnicoSoporte tecnico
Soporte tecnico
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
Manual de formateo de sistema operativo
Manual de formateo de sistema operativoManual de formateo de sistema operativo
Manual de formateo de sistema operativo
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-c
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
Proyecto final informática.
Proyecto final informática.Proyecto final informática.
Proyecto final informática.
 
Informe tecnico (1)
Informe tecnico (1)Informe tecnico (1)
Informe tecnico (1)
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
 
Diagrama de flujo mantenimiento preventivo sw.
Diagrama de flujo mantenimiento preventivo sw.Diagrama de flujo mantenimiento preventivo sw.
Diagrama de flujo mantenimiento preventivo sw.
 
Java swing
Java swingJava swing
Java swing
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
Herramientas ofimáticas de software libre
Herramientas ofimáticas de software libreHerramientas ofimáticas de software libre
Herramientas ofimáticas de software libre
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
SISTEMAS MULTIUSUARIOS
SISTEMAS MULTIUSUARIOSSISTEMAS MULTIUSUARIOS
SISTEMAS MULTIUSUARIOS
 
Scrum y la gestión de proyecto Web
Scrum y la gestión de proyecto WebScrum y la gestión de proyecto Web
Scrum y la gestión de proyecto Web
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
 
Evolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programaciónEvolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programación
 
Cuadro comparativo de los editores de texto en java
Cuadro comparativo de los editores de texto en javaCuadro comparativo de los editores de texto en java
Cuadro comparativo de los editores de texto en java
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 

Kürzlich hochgeladen (20)

Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 

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.