introduccion a php
TRANSCRIPT
![Page 1: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/1.jpg)
Instituto de Educación Superior Tecnológico PúblicoInstituto de Educación Superior Tecnológico Público“Francisco de Paula Gonzáles Vigil”“Francisco de Paula Gonzáles Vigil”
Carrera Profesional de Computación e InformáticaCarrera Profesional de Computación e Informática
“Introducción a PHP"
José Luis Ponce [email protected]
www.sitelsur.com
![Page 2: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/2.jpg)
Introducción a PHPIntroducción a PHP
• Lenguajes de Lenguajes de scriptscript– PHP es un lenguaje de PHP es un lenguaje de scriptscript del lado del servidor. Otros del lado del servidor. Otros
lenguajes similares son ASP, JSP o ColdFusionlenguajes similares son ASP, JSP o ColdFusion– Los scripts PHP están incrustados en los documentos Los scripts PHP están incrustados en los documentos
HTML y el servidor los interpreta y ejecuta antes de servir HTML y el servidor los interpreta y ejecuta antes de servir las páginas al clientelas páginas al cliente
– El cliente no ve el código PHP sino los resultados que El cliente no ve el código PHP sino los resultados que produceproduce
![Page 3: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/3.jpg)
Introducción a PHPIntroducción a PHP
• ¿Cómo funciona PHP?¿Cómo funciona PHP?
PáginaHTML
PáginaHTML
internet
Servidor web Cliente(navegador)
<P>Hola, Ana</P>
![Page 4: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/4.jpg)
Introducción a PHPIntroducción a PHP
• ¿Cómo funciona PHP?¿Cómo funciona PHP?
PáginaPHP
IntérpretePHP
PáginaHTML
PáginaHTML
internet
Servidor web Cliente(navegador)
<?PHP $nombre = "Ana"; print ("<P>Hola, $nombre</P>");?>
<P>Hola, Ana</P>
![Page 5: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/5.jpg)
Introducción a PHPIntroducción a PHP
• Breve historia de PHPBreve historia de PHP– Creado por Rasmus Lerdorf para uso personal en Creado por Rasmus Lerdorf para uso personal en
19941994– PHP = PHP = Personal Hypertext ProcessorPersonal Hypertext Processor– Versión actual: PHP 5Versión actual: PHP 5– Es un módulo que se añade al servidor web y fue Es un módulo que se añade al servidor web y fue
concebido inicialmente para Apacheconcebido inicialmente para Apache• ¿Por qué PHP?¿Por qué PHP?
– Por sus ventajas: es potente, fácil de aprender, de Por sus ventajas: es potente, fácil de aprender, de libre distribución, permite el acceso a bases de libre distribución, permite el acceso a bases de datos y otras funcionalidades orientadas a la reddatos y otras funcionalidades orientadas a la red
– Dispone de abundante soporte en la WebDispone de abundante soporte en la Web
![Page 6: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/6.jpg)
Introducción a PHPIntroducción a PHP
• RequisitosRequisitos– Servidor web Apache (www.apache.org)Servidor web Apache (www.apache.org)– con el módulo PHP (www.php.net)con el módulo PHP (www.php.net)– y la base de datos MySQL (www.mysql.com) si se y la base de datos MySQL (www.mysql.com) si se
desea crear páginas dinámicasdesea crear páginas dinámicas• Otras utilidadesOtras utilidades
– Herramientas para la gestión de MySQL, como Herramientas para la gestión de MySQL, como PHPMyAdmin (www.phpmyadmin.net)PHPMyAdmin (www.phpmyadmin.net)
– Editores de PHP, como DevPHP Editores de PHP, como DevPHP (www.sourceforge.net) o Eclipse (www.eclipse.org)(www.sourceforge.net) o Eclipse (www.eclipse.org)
– Manuales de PHP y MySQLManuales de PHP y MySQL
![Page 7: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/7.jpg)
Lenguaje PHP básicoLenguaje PHP básico
1.1. Sintaxis básicaSintaxis básica2.2. Tipos de datosTipos de datos3.3. VariablesVariables4.4. ConstantesConstantes5.5. Expresiones y operadoresExpresiones y operadores6.6. Estructuras de controlEstructuras de control7.7. FuncionesFunciones8.8. TablasTablas9.9. Bibliotecas de funcionesBibliotecas de funciones
![Page 8: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/8.jpg)
Sintaxis básicaSintaxis básica
• PHP es sensible a las mayúsculasPHP es sensible a las mayúsculas• ¿Cómo se incrusta en la página web?¿Cómo se incrusta en la página web?
<?PHP ... ?><?PHP ... ?>recomendado, siempre disponiblerecomendado, siempre disponible
<?= expresión ?><?= expresión ?>equivale a <? echo expresión ?>equivale a <? echo expresión ?>
• Las instrucciones se separan con un ; como en C. Las instrucciones se separan con un ; como en C. La marca final ?> implica un ;La marca final ?> implica un ;
• Comentarios: como en C, /* … */ y //Comentarios: como en C, /* … */ y //
![Page 9: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/9.jpg)
Sintaxis básicaSintaxis básica
• Para imprimir: Para imprimir: echoecho y y printprint
echo: muestra una o más cadenasecho: muestra una o más cadenasecho cadena1 [, cadena2…]; // no es una funciónecho cadena1 [, cadena2…]; // no es una función
echo “Hola mundo”;echo “Hola mundo”;echo “Hola “, “mundo”;echo “Hola “, “mundo”;
print: muestra una cadenaprint: muestra una cadenaprint cadena; // no es una funciónprint cadena; // no es una función
print “Hola mundo”;print “Hola mundo”;print “Hola “ . “mundo”;print “Hola “ . “mundo”;
![Page 10: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/10.jpg)
Sintaxis básicaSintaxis básica
• Ejemplo:Ejemplo:<HTML><HTML><HEAD><HEAD><TITLE>Mi primer programa en PHP</TITLE><TITLE>Mi primer programa en PHP</TITLE></HEAD></HEAD>
<BODY><BODY>
<?PHP<?PHP print (“<P>Hola mundo</P>”);print (“<P>Hola mundo</P>”);?>?>
</BODY></BODY></HTML></HTML>
![Page 11: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/11.jpg)
Sintaxis básicaSintaxis básica
• Uso de \n para generar código HTML legibleUso de \n para generar código HTML legible• a) Sin \na) Sin \n
print (“<P>Párrafo 1</P>”);print (“<P>Párrafo 2</P>”);
<P>Párrafo 1</P><P>Párrafo 2</P>
Párrafo 1
Párrafo 2
Código PHP
Código HTML
Salida
![Page 12: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/12.jpg)
Sintaxis básicaSintaxis básica
• Uso de \n para generar código HTML legibleUso de \n para generar código HTML legible• b) Con \nb) Con \n
print (“<P>Párrafo 1</P>\n”);print (“<P>Párrafo 2</P>\n”);
<P>Párrafo 1</P><P>Párrafo 2</P>
Párrafo 1
Párrafo 2
Código PHP
Código HTML
Salida
![Page 13: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/13.jpg)
Sintaxis básicaSintaxis básica
• Inclusión de ficheros externos:Inclusión de ficheros externos:– includeinclude()()– requirerequire()()
• Ambos incluyen y evalúan el fichero especificadoAmbos incluyen y evalúan el fichero especificado• Diferencia: en caso de error include() produce un warning y Diferencia: en caso de error include() produce un warning y
require() un error fatalrequire() un error fatal• Se usará require() si al producirse un error debe Se usará require() si al producirse un error debe
interrumpirse la carga de la páginainterrumpirse la carga de la página• Ejemplo:Ejemplo:
![Page 14: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/14.jpg)
Sintaxis básicaSintaxis 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>
![Page 15: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/15.jpg)
Tipos de datosTipos de datos
• PHP soporta 8 PHP soporta 8 tipos de datos primitivostipos de datos primitivos::– Tipos escalares: boolean, integer, double, stringTipos escalares: boolean, integer, double, string– Tipos compuestos: array, objectTipos compuestos: array, object– Tipos especiales: resource, NULL Tipos especiales: resource, NULL
• El tipo de una variable no se suele especificar. Se decide El tipo de una variable no se suele especificar. Se decide en tiempo de ejecución en función del contexto y puede en tiempo de ejecución en función del contexto y puede variarvariar
• Funciones de interés:Funciones de interés:– La función gettype() devuelve el tipo de una variableLa función gettype() devuelve el tipo de una variable– Las funciones is_Las funciones is_typetype comprueban si una variable es de un comprueban si una variable es de un
tipo dado:tipo dado:is_array(), is_bool(), is_float(), is_integer(), is_array(), is_bool(), is_float(), is_integer(),
is_null(), is_null(), is_numeric(), is_object(), is_resource(), is_numeric(), is_object(), is_resource(), is_scalar(),is_scalar(),
is_string()is_string()– La función var_dump() muestra el tipo y el valor de una La función var_dump() muestra el tipo y el valor de una
variable. Es especialmente interesante con los arraysvariable. Es especialmente interesante con los arrays
![Page 16: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/16.jpg)
Tipos de datosTipos de datos
• Tipo Tipo integerinteger (números enteros) (números enteros)– 27, -5, 027, -5, 0
• Tipo Tipo doubledouble (números reales) (números reales)– 1.234, -5.331.234, -5.33
• Tipo Tipo booleanboolean (lógico) (lógico)– Valores: Valores: truetrue, , falsefalse (insensibles a las mayúsculas) (insensibles a las mayúsculas)– El 0 y la cadena vacía tienen valor El 0 y la cadena vacía tienen valor falsefalse
![Page 17: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/17.jpg)
Tipos de datosTipos de datos
• Tipo string:Tipo string:– Las cadenas se encierran entre comillas simples o dobles:Las cadenas se encierran entre comillas simples o dobles:
• ‘‘simples’: admite los caracteres de escape \’ (comilla simples’: admite los caracteres de escape \’ (comilla simple) y \\ (barra). Las variables simple) y \\ (barra). Las variables NONO se expanden se expanden
• ““dobles”: admite más caracteres de escape, como \n, \r, \dobles”: admite más caracteres de escape, como \n, \r, \t, \\, \$, \”. Los nombres de variables t, \\, \$, \”. Los nombres de variables SÍSÍ se expanden se expanden
• Ejemplos:Ejemplos:$a = 9;$a = 9;print ‘a vale $a\n’;print ‘a vale $a\n’;
// muestra // muestra a vale $a\na vale $a\nprint “a vale $a\n”;print “a vale $a\n”; // muestra // muestra a vale 9a vale 9 y avanza una líneay avanza una líneaprint “<IMG SRC=‘logo.gif’>”;print “<IMG SRC=‘logo.gif’>”; // muestra // muestra <IMG SRC=‘logo.gif’><IMG SRC=‘logo.gif’>print “<IMG SRC=\”logo.gif\”>”;print “<IMG SRC=\”logo.gif\”>”; // muestra // muestra <IMG SRC=“logo.gif”><IMG SRC=“logo.gif”>
– Acceso a un carácter de la cadena:Acceso a un carácter de la cadena:• La forma es $inicial = $nombre{0};La forma es $inicial = $nombre{0};
![Page 18: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/18.jpg)
VariablesVariables
• Las variables siempre van precedidas de un $Las variables siempre van precedidas de un $• El nombre es sensible a las mayúsculasEl nombre es sensible a las mayúsculas• Comienzan por letra o subrayado, seguido de letras, Comienzan por letra o subrayado, seguido de letras,
números o subrayadonúmeros o subrayado• Variables predefinidas:Variables predefinidas:
$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES,$_FILES,
$_ENV, $_REQUEST, $_SESSION$_ENV, $_REQUEST, $_SESSION• Ámbito: globales al fichero (excepto funciones) o locales Ámbito: globales al fichero (excepto funciones) o locales
a una funcióna una función• Ejemplo:Ejemplo:
$valor = 5;$valor = 5;print “El valor es: “ . $valor . “\n”;print “El valor es: “ . $valor . “\n”;print “El valor es: $valor\n”; // ojo: comillas doblesprint “El valor es: $valor\n”; // ojo: comillas dobles
Resultado:Resultado:El valor es: 5El valor es: 5
![Page 19: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/19.jpg)
VariablesVariables
• Variables variablesVariables variables– Se pueden crear nombres de variables Se pueden crear nombres de variables
dinámicamentedinámicamente– La variable variable toma su nombre del valor de otra La variable variable toma su nombre del valor de otra
variable previamente declaradavariable previamente declarada– Ejemplo:Ejemplo:
$a = $a = ""holahola"";;$$a = $$a = ""mundomundo"";;
print "$a $hola\n";print "$a $hola\n";print "$a ${$a}";print "$a ${$a}";
Resultado:Resultado:hola mundohola mundohola mundohola mundo
![Page 20: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/20.jpg)
VariablesVariables
<?PHP $mensaje_es="Hola"; $mensaje_en="Hello"; $idioma = "es"; $mensaje = "mensaje_" . $idioma; print $$mensaje;?>
• Ejemplo de variables variables: página Ejemplo de variables variables: página internacionalizada (1)internacionalizada (1)
![Page 21: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/21.jpg)
VariablesVariables
<?PHP $mensaje_es="Hola"; $mensaje_en="Hello"; $idioma = "en"; $mensaje = "mensaje_" . $idioma; print $$mensaje;?>
• Ejemplo de variables variables: página Ejemplo de variables variables: página internacionalizada (2)internacionalizada (2)
![Page 22: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/22.jpg)
ConstantesConstantes
• Definición de constantes:Definición de constantes:define (“CONSTANTE”, “hola”);define (“CONSTANTE”, “hola”);print CONSTANTE;print CONSTANTE;
• No llevan $ delanteNo llevan $ delante• Sólo se pueden definir constantes de los tipos escalares Sólo se pueden definir constantes de los tipos escalares
(boolean, integer, double, string)(boolean, integer, double, string)
![Page 23: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/23.jpg)
Expresiones y operadoresExpresiones y operadores
• Operadores aritméticos:Operadores aritméticos:+, -, *, /, %, ++, --+, -, *, /, %, ++, --
• Operador de asignación:Operador de asignación:==operadores combinados: .=, +=, etcoperadores combinados: .=, +=, etc$a = 3; $a += 5; $a = 3; $a += 5; a vale 8 a vale 8$b = “hola ”; $b .= “mundo”; $b = “hola ”; $b .= “mundo”; b vale “hola mundo” b vale “hola mundo” Equivale a $b = $b . “mundo”; Equivale a $b = $b . “mundo”;
• Operadores de comparación:Operadores de comparación:==, !=, <, >, <=, >= y otros==, !=, <, >, <=, >= y otros
• Operador de control de error: @. Antepuesto a una expresión, Operador de control de error: @. Antepuesto a una expresión, evita cualquier mensaje de error que pueda ser generado por evita cualquier mensaje de error que pueda ser generado por la expresiónla expresión
• Operadores lógicos:Operadores lógicos:and (&&), or (||), !, xorand (&&), or (||), !, xorand/&& y or/|| tienen diferentes prioridadesand/&& y or/|| tienen diferentes prioridades
• Operadores de cadena:Operadores de cadena:concatenación: . (punto)concatenación: . (punto)asignación con concatenación: .=asignación con concatenación: .=
![Page 24: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/24.jpg)
Expresiones y operadoresExpresiones y operadores
• Precedencia de operadores (de mayor a menor):Precedencia de operadores (de mayor a menor):
++, --++, --*, /, %*, /, %+,-+,-<, <=, >, >=<, <=, >, >===, !===, !=&&&&||||andandoror
![Page 25: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/25.jpg)
Estructuras de controlEstructuras de control
• Estructuras selectivas:Estructuras selectivas:– if-elseif-else– switchswitch
• Estructuras repetitivas:Estructuras repetitivas:– whilewhile– forfor– foreachforeach
![Page 26: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/26.jpg)
Estructuras de controlEstructuras de control
• Estructura selectiva Estructura selectiva if-else
• Mismo comportamiento que en C Mismo comportamiento que en C • Las sentencias compuestas se encierran entre Las sentencias compuestas se encierran entre
llavesllaves• elseif puede ir todo juntoelseif puede ir todo junto
if (condición) sentencia
if (condición1) sentencia 1else if (condición2) sentencia 2...else if (condición n) sentencia nelse sentencia n+1
if (condición) sentencia 1else sentencia 2
![Page 27: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/27.jpg)
Estructuras de controlEstructuras de control
• Ejemplo de estructura selectiva if-Ejemplo de estructura selectiva if-else:else:
<?PHP<?PHPif ($sexo == ‘M’)if ($sexo == ‘M’)
$saludo = "Bienvenida, ";$saludo = "Bienvenida, ";elseelse
$saludo = "Bienvenido, ";$saludo = "Bienvenido, ";$saludo = $saludo . $nombre;$saludo = $saludo . $nombre;print ($saludo);print ($saludo);
?>?>
![Page 28: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/28.jpg)
Estructuras de controlEstructuras de control
• Estructura selectiva Estructura selectiva switchswitch (expresión)switch (expresión){{
case valor_1:case valor_1:sentencia 1sentencia 1break;break;
case valor_2:case valor_2:sentencia 2sentencia 2break;break;
……case valor_n:case valor_n:
sentencia nsentencia n break;break;
defaultdefaultsentencia n+1sentencia n+1
}}• Mismo comportamiento que en C, sólo que la expresión Mismo comportamiento que en C, sólo que la expresión
del case puede ser integer, float o stringdel case puede ser integer, float o string
![Page 29: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/29.jpg)
Estructuras de controlEstructuras de control
• Ejemplo de estructura selectiva switch:Ejemplo de estructura selectiva switch:
switch ($extension)switch ($extension){{ case ("PDF"):case ("PDF"): $tipo = "Documento Adobe PDF";$tipo = "Documento Adobe PDF"; break;break; case ("TXT"):case ("TXT"): $tipo = "Documento de texto";$tipo = "Documento de texto"; break;break; case ("HTML"):case ("HTML"): case ("HTM"):case ("HTM"): $tipo = "Documento HTML";$tipo = "Documento HTML"; break;break;
default:default: $tipo = "Archivo " . $extension;$tipo = "Archivo " . $extension;}}print ($tipo);print ($tipo);
![Page 30: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/30.jpg)
Estructuras de controlEstructuras de control
• Estructura repetitiva Estructura repetitiva while
while (condición)while (condición)sentenciasentencia
• Mismo comportamiento que en CMismo comportamiento que en C
![Page 31: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/31.jpg)
Estructuras de controlEstructuras de control
• Ejemplo de estructura repetitiva while:Ejemplo de estructura repetitiva while:
<?PHP<?PHPprint ("<UL>\n");print ("<UL>\n");$i=1;$i=1;while ($i <= 5)while ($i <= 5){{
print ("<LI>Elemento $i</LI>\print ("<LI>Elemento $i</LI>\n");n");
$i++;$i++;}}print ("</UL>\n");print ("</UL>\n");
?>?>
![Page 32: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/32.jpg)
Estructuras de controlEstructuras de control
• Estructura repetitiva Estructura repetitiva for
for (inicialización; condición; incremento)for (inicialización; condición; incremento)sentenciasentencia
• Mismo comportamiento que en CMismo comportamiento que en C
![Page 33: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/33.jpg)
Estructuras de controlEstructuras de control
• Ejemplo de estructura repetitiva for:Ejemplo de estructura repetitiva for:
<?PHP<?PHPprint ("<UL>\n");print ("<UL>\n");for ($i=1; $i<=5; $i++)for ($i=1; $i<=5; $i++)
print ("<LI>Elemento $i</LI>\print ("<LI>Elemento $i</LI>\n");n");print ("</UL>\n");print ("</UL>\n");
?>?>
![Page 34: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/34.jpg)
FuncionesFunciones
• Ejemplo:Ejemplo:function suma ($x, $y)function suma ($x, $y){{ $s = $x + $y;$s = $x + $y; return $s;return $s;}}
$a=1;$a=1;$b=2;$b=2;$c=suma ($a, $b);$c=suma ($a, $b);print $c;print $c;
![Page 35: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/35.jpg)
FuncionesFunciones
• Por defecto los parámetros se pasan por valorPor defecto los parámetros se pasan por valor• Paso por referencia:Paso por referencia:
function incrementa (&$a)function incrementa (&$a){{ $a = $a + 1;$a = $a + 1;}}
$a=1;$a=1;incrementa ($a);incrementa ($a);print $a; // Muestra un 2print $a; // Muestra un 2
![Page 36: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/36.jpg)
FuncionesFunciones
• Argumentos por defectoArgumentos por defectofunction muestranombre ($titulo = "Sr.")function muestranombre ($titulo = "Sr."){{ print "Estimado $titulo:\n";print "Estimado $titulo:\n";}}muestranombre ();muestranombre ();muestranombre ("Prof.");muestranombre ("Prof.");
• Salida:Salida:Estimado Sr.:Estimado Sr.:Estimado Prof.:Estimado Prof.:
![Page 37: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/37.jpg)
FuncionesFunciones
• Los argumentos con valores por defecto deben Los argumentos con valores por defecto deben ser siempre los últimos:ser siempre los últimos:
function muestranombre ($nombre, $titulo= "Sr.")function muestranombre ($nombre, $titulo= "Sr."){{ print "Estimado $titulo $nombre:\n";print "Estimado $titulo $nombre:\n";}}muestranombre (“Fernández”);muestranombre (“Fernández”);muestranombre (“Fernández”, "Prof.");muestranombre (“Fernández”, "Prof.");
• Salida:Salida:Estimado Sr. Fernández:Estimado Sr. Fernández:Estimado Prof. Fernández:Estimado Prof. Fernández:
![Page 38: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/38.jpg)
Arrays = TablaArrays = Tabla
¿Qué es un ¿Qué es un arrayarray??• Un Un arrayarray es sencillamente una tabla de valores. es sencillamente una tabla de valores.• Cada uno de los Cada uno de los elementoselementos de esa de esa tablatabla se identifica por medio de un se identifica por medio de un nombrenombre
(común para todos) y un (común para todos) y un índiceíndice (que diferenciaría a cada uno de ellos). (que diferenciaría a cada uno de ellos).• La sintaxis que permite definir elementos en un array es la siguiente:La sintaxis que permite definir elementos en un array es la siguiente:
$nombre[indice]$nombre[indice]
El El índiceíndice puede ser puede ser un númeroun número (habría que escribirlo dentro del corchete (habría que escribirlo dentro del corchete sin sin comillascomillas), ), una una cadenacadena (que habría que poner en el corchete encerrada entre (que habría que poner en el corchete encerrada entre comillas sencillascomillas sencillas –'–). –'–).
Cuando los Cuando los índicesíndices de un array son de un array son númerosnúmeros se dice que es se dice que es escalarescalar mientras mientras que si fueran que si fueran cadenascadenas se le llamaría array se le llamaría array asociativoasociativo..
![Page 39: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/39.jpg)
Arrays UnidimensionalesArrays Unidimensionales
Arrays EscalaresArrays Escalares• Los elementos de un Los elementos de un arrayarray escalar escalar
puede escribirse con una de estas puede escribirse con una de estas sintaxis:sintaxis:
$a[]=$a[]=valor valor ó $a[xx]=ó $a[xx]=valorvalor
• En el primero se asigna los índices de En el primero se asigna los índices de forma automática, éste es un valor forma automática, éste es un valor enteroentero y empieza por el y empieza por el 00 (CERO). (CERO).
• En el segundo de los casos, seremos En el segundo de los casos, seremos nosotros quienes pongamos (nosotros quienes pongamos (xxxx) el ) el númeronúmero correspondiente al correspondiente al valor del valor del índiceíndice..
Arrays AsociativoArrays Asociativo• Los elementos de un Los elementos de un arrayarray asociativo asociativo
pueden escribirse usando la siguiente pueden escribirse usando la siguiente sintaxis:sintaxis:
$a[$a['indice''indice']=]=valorvalor
• En éste caso estamos obligados a escribir En éste caso estamos obligados a escribir el nombre del índice que habrá de ser una el nombre del índice que habrá de ser una cadenacadena y debe ponerse entre comillas. y debe ponerse entre comillas.
• Tanto en este supuesto como en el Tanto en este supuesto como en el anterior, es posible –y bastante frecuente– anterior, es posible –y bastante frecuente– utilizar como índice el contenido de una utilizar como índice el contenido de una variable. El modo de hacerlo sería:variable. El modo de hacerlo sería:
$a[$ind]=$a[$ind]=valorvalor
• En este caso, sea cual fuere el valor de la En este caso, sea cual fuere el valor de la variable variable $ind$ind, el nombre de la variable , el nombre de la variable nuncanunca se pone entre comillas. se pone entre comillas.
![Page 40: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/40.jpg)
Arrays UnidimensionalesArrays Unidimensionales<< Escalares y Asociativos >><< Escalares y Asociativos >>
$a[0]=“Domingo” $a[“Primero”]=“Domingo”
![Page 41: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/41.jpg)
Arrays BidimensionalesArrays Bidimensionales
Arrays EscalaresArrays Escalares• Los elementos de un Los elementos de un arrayarray
bidimensionalbidimensional escalar pueden escalar pueden escribirse usando una de estas escribirse usando una de estas sintaxis:sintaxis:
$a[][]=$a[][]=valor ó valor ó $a[xx][]=$a[xx][]=valorvalor
$a[][xx]=$a[][xx]=valor ó valor ó $a[xx][yy]= $a[xx][yy]=valorvalor
Arrays AsociativoArrays Asociativo• Los elementos de un Los elementos de un arrayarray asociativo asociativo
se pueden escribir usando la siguiente se pueden escribir usando la siguiente sintaxis:sintaxis:
$a[$a["indice1""indice1"][]["indice2""indice2"]=]=valorvalor
![Page 42: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/42.jpg)
La función ArrayLa función Array
Por ejemplo:Por ejemplo:
$z=array ($z=array (0 => 2,0 => 2,1 => "Pepe",1 => "Pepe",2 => 34.7,2 => 34.7,3 => "34Ambrosio",3 => "34Ambrosio",););
producirá igual resultado que:producirá igual resultado que:
$z[0]=2;$z[0]=2;$z[1]="Pepe";$z[1]="Pepe";$z[2]=34.7;$z[2]=34.7;$z[3]="34Ambrosio"; $z[3]="34Ambrosio";
$a= array ($a= array (índice 0índice 0 => => valorvalor, ..... , , ..... , índice níndice n => => valorvalor,);,);
![Page 43: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/43.jpg)
La función ArrayLa función Array
• La función La función array() array() permite escribir arrays permite escribir arrays de cualquier dimensión utilizando la de cualquier dimensión utilizando la técnica de técnica de anidadoanidado. Ejemplo de array . Ejemplo de array escalar:escalar:
$z[0][0]=34;$z[0][0]=34;$z[0][1]=35;$z[0][1]=35;$z[0][2]=36;$z[0][2]=36;$z[1][0]=134;$z[1][0]=134;$z[1][1]=135;$z[1][1]=135;$z[1][2]=136;$z[1][2]=136;
podríamos hacerlo así:podríamos hacerlo así:$z=array( 0 => array (0 => 34, $z=array( 0 => array (0 => 34,
1 => 35,1 => 35, 2 => 36,), 2 => 36,), 1 => array (0 => 134, 1 => array (0 => 134, 1 => 135, 1 => 135, 2 => 136,) 2 => 136,) ); );
• El anidado sucesivo permitiría generar El anidado sucesivo permitiría generar arraysarrays de cualquier dimensión. Ejemplo de de cualquier dimensión. Ejemplo de array asociativoarray asociativo::
$z["a"]["A"]=34;$z["a"]["A"]=34;$z["a"]["B"]=35;$z["a"]["B"]=35;$z["a"]["C"]=36;$z["a"]["C"]=36;$z["b"]["A"]=134;$z["b"]["A"]=134;$z["b"]["B"]=135;$z["b"]["B"]=135;$z["b"]["C"]=136;$z["b"]["C"]=136;
que podría definirse también de esta que podría definirse también de esta forma: forma: $z=array("a" => array ("A" => $z=array("a" => array ("A" => 34,34, "B" => 35, "B" => 35, "C" => 36, ), "C" => 36, ), "b" => array ("A" => 134, "b" => array ("A" => 134, "B" => 135, "B" => 135, "C" => 136,) "C" => 136,) ); );
$a= array ($a= array (índice 0índice 0 => => valorvalor, ..... , , ..... , índice níndice n => => valorvalor,);,);
![Page 44: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/44.jpg)
Bibliotecas de funcionesBibliotecas de funciones
• Existen muchas bibliotecas de funciones en PHPExisten muchas bibliotecas de funciones en PHP• Algunos ejemplos:Algunos ejemplos:
– Funciones de manipulación de cadenasFunciones de manipulación de cadenas– Funciones de fecha y horaFunciones de fecha y hora– Funciones de arraysFunciones de arrays– Funciones de ficherosFunciones de ficheros– Funciones matemáticasFunciones matemáticas– Funciones de bases de datosFunciones de bases de datos– Funciones de redFunciones de red
• Algunas bibliotecas requieren la instalación de Algunas bibliotecas requieren la instalación de componentes adicionalescomponentes adicionales
• Todas las funciones de biblioteca están comentadas en la Todas las funciones de biblioteca están comentadas en la documentación de PHPdocumentación de PHP
![Page 45: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/45.jpg)
Bibliotecas de funcionesBibliotecas de funciones
• Funciones de manipulación de cadenasFunciones de manipulación de cadenas– explode()explode()
• Divide una cadena en subcadenasDivide una cadena en subcadenas• array array explodeexplode (string separator, string string [, int (string separator, string string [, int
limit]) limit]) – rtrim(), ltrim(), trim()rtrim(), ltrim(), trim()
• Eliminan caracteres a la derecha, a la izquierda o Eliminan caracteres a la derecha, a la izquierda o por ambos lados de una cadenapor ambos lados de una cadena
• string string rtrimrtrim ( string str [, string charlist]) ( string str [, string charlist]) – strstr()strstr()
• Busca la primera ocurrencia de una subcadenaBusca la primera ocurrencia de una subcadena– strtolower() / strtoupper()strtolower() / strtoupper()
• Convierte una cadena a minúscula / mayúsculaConvierte una cadena a minúscula / mayúscula– strcmp() / strcasecmp()strcmp() / strcasecmp()
• Compara dos cadenas con/sin distinción de Compara dos cadenas con/sin distinción de mayúsculasmayúsculas
– strlen()strlen()• Calcula la longitud de una cadenaCalcula la longitud de una cadena
![Page 46: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/46.jpg)
Bibliotecas de funcionesBibliotecas de funciones
• Funciones de fecha y horaFunciones de fecha y hora– date()date()
• Formatea una fecha según un formato dadoFormatea una fecha según un formato dado• Ejemplo:Ejemplo:
$fecha = date ("j/n/Y H:i");$fecha = date ("j/n/Y H:i");print ("$fecha");print ("$fecha");Resultado:Resultado:
26/9/2005 17:3626/9/2005 17:36 – strtotime()strtotime()
• Convierte una fecha en un Convierte una fecha en un timestamptimestamp de UNIX de UNIX• Ejemplo:Ejemplo:
$fecha = date ("j/n/Y", strtotime(“5 april 2001"));$fecha = date ("j/n/Y", strtotime(“5 april 2001"));print ("$fecha");print ("$fecha");Resultado:Resultado:
5/4/20015/4/2001
![Page 47: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/47.jpg)
Bibliotecas de funcionesBibliotecas de funciones
• Funciones de arraysFunciones de arrays– array_count_values()array_count_values()
• Calcula la frecuencia de cada uno de los elementos de Calcula la frecuencia de cada uno de los elementos de un arrayun array
– array_search()array_search()• Busca un elemento en un arrayBusca un elemento en un array
– count()count()• Cuenta los elementos de un arrayCuenta los elementos de un array
– sort(), rsort()sort(), rsort()• Ordena y reindexa un array (r=decreciente)Ordena y reindexa un array (r=decreciente)
– ksort(), krsort()ksort(), krsort()• Ordena por claves un array (r=decreciente)Ordena por claves un array (r=decreciente)
![Page 48: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/48.jpg)
FormulariosFormularios
1.1.Acceso a formularios HTML desde PHPAcceso a formularios HTML desde PHP2.2.El formulario de PHPEl formulario de PHP3.3.Subida de ficheros al servidorSubida de ficheros al servidor4.4.Validación de los datos de un formularioValidación de los datos de un formulario
![Page 49: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/49.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• Desde PHP se puede acceder fácilmente a los datos Desde PHP se puede acceder fácilmente a los datos introducidos desde un formulario HTMLintroducidos desde un formulario HTML
• Veámoslo con un ejemplo simpleVeámoslo con un ejemplo simple
![Page 50: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/50.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• Fichero uno.phpFichero uno.php<HTML><HTML><BODY><BODY><FORM ACTION=”dos.php” METHOD=”POST”><FORM ACTION=”dos.php” METHOD=”POST”> Edad: <INPUT TYPE=”text” NAME=”edad”>Edad: <INPUT TYPE=”text” NAME=”edad”> <INPUT TYPE=”submit” VALUE=”aceptar”><INPUT TYPE=”submit” VALUE=”aceptar”></FORM></FORM></BODY></BODY></HTML></HTML>
• Fichero dos.phpFichero dos.php<HTML><HTML><BODY><BODY><?PHP<?PHP print (“La edad es: $edad”);print (“La edad es: $edad”);?>?></BODY></BODY></HTML></HTML>
![Page 51: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/51.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
![Page 52: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/52.jpg)
Acceso a formularios desde PHPAcceso 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’];
![Page 53: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/53.jpg)
Acceso a formularios desde PHPAcceso 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>
![Page 54: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/54.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• Acceso a los diferentes tipos de elementos de Acceso a los diferentes tipos de elementos de entrada de formularioentrada de formulario
– Elementos de tipo INPUTElementos de tipo INPUT• TEXTTEXT• RADIORADIO• CHECKBOXCHECKBOX• BUTTONBUTTON• FILEFILE• HIDDENHIDDEN• PASSWORDPASSWORD• SUBMITSUBMIT
– Elemento SELECTElemento SELECT• Simple / múltipleSimple / múltiple
– Elemento TEXTAREAElemento TEXTAREA
![Page 55: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/55.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• TEXTTEXT
Introduzca la cadena a buscar:<INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20">
<?PHP $cadena = $_POST[‘cadena’]; print ($cadena);?>
![Page 56: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/56.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• RADIORADIO
Sexo:<INPUT TYPE="radio" NAME=“sexo" VALUE=“M“ CHECKED>Mujer<INPUT TYPE="radio" NAME=“sexo" VALUE=“H">Hombre
<?PHP $sexo = $_POST[‘sexo’]; print ($sexo);?>
![Page 57: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/57.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• CHECKBOXCHECKBOX
<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>\n”); //foreach ($extras as $extra) //print (“$extra<BR>\n”);?>
![Page 58: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/58.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• BUTTONBUTTON
<INPUT TYPE="button" NAME=“actualizar" VALUE="Actualizar datos">
<?PHP $actualizar = $_POST[‘actualizar’]; if ($actualizar) print ("Se han actualizado los datos");?>
![Page 59: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/59.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• FILEFILE
<FORM ACTION="procesa.php" METHOD="post“ ENCTYPE="multipart/form-data"> <INPUT TYPE="file" NAME="fichero"></FORM>
![Page 60: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/60.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• HIDDENHIDDEN
<?PHP print(“<INPUT TYPE=’hidden’ NAME=’username’ VALUE=’$usuario’>\n”);?>
<?PHP $username = $_POST[‘username’]; print ($username);?>
![Page 61: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/61.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• PASSWORDPASSWORD
Contraseña: <INPUT TYPE="password" NAME="clave">
<?PHP $clave = $_POST[‘clave’]; print ($clave);?>
![Page 62: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/62.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• SUBMITSUBMIT
<INPUT TYPE="submit" NAME="enviar" VALUE="Enviar datos">
<?PHP $enviar = $_POST[‘enviar’]; if ($enviar) print ("Se ha pulsado el botón de enviar");?>
![Page 63: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/63.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• SELECT simpleSELECT 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);?>
![Page 64: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/64.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• SELECT múltipleSELECT 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>\n”); //foreach ($idiomas as $idioma) //print (“$idioma<BR>\n”);?>
![Page 65: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/65.jpg)
Acceso a formularios desde PHPAcceso a formularios desde PHP
• TEXTAREATEXTAREA
Comentario:<TEXTAREA COLS=“50" ROWS=“4" NAME="comentario">Este libro me parece ...</TEXTAREA>
<?PHP $comentario = $_POST[‘comentario’]; print ($comentario);?>
![Page 66: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/66.jpg)
El formulario de PHPEl formulario de PHP
• La forma habitual de trabajar con formularios en PHP es La forma habitual de trabajar con formularios en PHP es utilizar un único programa que procese el formulario o lo utilizar un único programa que procese el formulario o lo muestre según haya sido o no enviado, respectivamentemuestre según haya sido o no enviado, respectivamente
• Ventajas:Ventajas:– Disminuye el número de ficherosDisminuye el número de ficheros– Permite validar los datos del formulario en el propio Permite validar los datos del formulario en el propio
formularioformulario• Procedimiento:Procedimiento:
si se ha enviado el formulario:si se ha enviado el formulario: Procesar formularioProcesar formulariosi no:si no: Mostrar formularioMostrar formulariofsifsi
![Page 67: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/67.jpg)
El formulario de PHPEl formulario de PHP
• Esquema de funcionamiento:Esquema de funcionamiento:
si se ha enviado el formulario: Procesar formulario
si no: Mostrar formulariofsi
a) b)
– La 1ª vez que se carga la página se muestra el La 1ª vez que se carga la página se muestra el formulario (a)formulario (a)
– La 2ª vez La 2ª vez se procesa el formulario (b)se procesa el formulario (b)
![Page 68: Introduccion a php](https://reader033.vdocuments.co/reader033/viewer/2022052206/557ae371d8b42a63778b51d7/html5/thumbnails/68.jpg)
El formulario de PHPEl formulario de PHP
• Para saber si se ha enviado el formulario se acude a la Para saber si se ha enviado el formulario se acude a la variable correspondiente al botón de envío. Si este botón variable correspondiente al botón de envío. Si este botón aparece de la siguiente forma en el formulario HTML:aparece de la siguiente forma en el formulario HTML:
<INPUT TYPE="SUBMIT" NAME="enviar“ VALUE="procesar"><INPUT TYPE="SUBMIT" NAME="enviar“ VALUE="procesar">
entonces la condición anterior se transforma en:entonces la condición anterior se transforma en:if (isset($enviar))if (isset($enviar))
o bieno bienif ($enviar == “procesar”)if ($enviar == “procesar”)