SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Curso de PHP



s   Tema 3: Formularios
Tema 3: Formularios

1.   Acceso a formularios HTML desde PHP
2.   El formulario de PHP
3.   Subida de ficheros al servidor
4.   Campos dinámicos con JavaScript
5.   Validación de los datos de un formulario
Acceso a formularios desde PHP
s   Desde PHP se puede acceder fácilmente a los datos
    introducidos desde un formulario HTML
s   Veámoslo con un ejemplo simple
Acceso a formularios desde PHP
s   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>

s   Fichero dos.php
      <HTML>
      <BODY>
      <?PHP
         print (“La edad es: $edad”);
      ?>
      </BODY>
      </HTML>
Acceso a formularios desde PHP
Acceso a formularios desde PHP
s   A partir de PHP 4.2.0, el valor por defecto de la directiva de
    PHP register_globals es off
s   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 $_REQUEST,
    escribiendo $_REQUEST[‘edad’] en lugar de $edad
s   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 = $_REQUEST[‘edad’];
Acceso a formularios desde PHP
s   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>

s   Fichero dos.php
      <HTML>
      <BODY>
      <?PHP
         $edad = $_REQUEST[‘edad’];
         print (“La edad es: $edad”);
      ?>
      </BODY>
      </HTML>
Acceso a formularios desde PHP
s   Ejercicio 1: formulario simple
       – Ilustra cómo acceder a los valores introducidos desde un
         formulario HTML
Acceso a formularios desde PHP
s   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

s   TEXT
    Introduzca la cadena a buscar:
    <INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20">


    <?PHP
       print ($cadena);
     //print ($_REQUEST [‘cadena’]);
    ?>
Acceso a formularios desde PHP

s   RADIO
    <INPUT TYPE="radio" NAME="titulacion" VALUE=“II“ CHECKED>I.Informática
    <INPUT TYPE="radio" NAME="titulacion" VALUE="ITIG">I.T.I. Gestión
    <INPUT TYPE="radio" NAME="titulacion" VALUE="ITIS">I.T.I. Sistemas


    <?PHP
       print ($titulacion);
     //print ($_REQUEST [‘titulacion’]);
    ?>
Acceso a formularios desde PHP
s   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
       $n = count ($extras);
       for ($i=0; $i<$n; $i++)
          print (“$extras[$i]<BR>n”);
     //foreach ($_REQUEST[‘extras’] as $extra)
        //print (“$extra<BR>n”);
    ?>
Acceso a formularios desde PHP

s   BUTTON
    <INPUT TYPE="button" NAME="nueva" VALUE="Añadir una más">


    <?PHP
       if ($nueva)
          print ("Se va a añadir una nueva");
       //if ($_REQUEST [‘nueva’])
          //print ("Se va a añadir una nueva");
    ?>
Acceso a formularios desde PHP

s   FILE
    <FORM ACTION="procesa.php" METHOD="post“
       ENCTYPE="multipart/form-data">
       <INPUT TYPE="file" NAME="fichero">
    </FORM>
Acceso a formularios desde PHP

s   HIDDEN
    <?PHP
       print(“<INPUT TYPE=’hidden’ NAME=’username’ VALUE=’$usuario’>n”);
    ?>


    <?PHP
       print ($username);
       //print ($_REQUEST [‘username’]);
    ?>
Acceso a formularios desde PHP

s   PASSWORD
    Contraseña: <INPUT TYPE="password" NAME="clave">


    <?PHP
       print ($clave);
       //print ($_REQUEST [‘clave’]);
    ?>
Acceso a formularios desde PHP

s   SUBMIT
    <INPUT TYPE="submit" NAME="enviar" VALUE="Enviar datos">


    <?PHP
       if ($enviar)
          print ("Se ha pulsado el botón de enviar");
       //if ($_REQUEST [‘enviar’])
          //print ("Se ha pulsado el botón de enviar");
    ?>
Acceso a formularios desde PHP

s   SELECT simple
    <SELECT NAME="titulacion">
       <OPTION VALUE="II" SELECTED>Ingeniería Informática
       <OPTION VALUE="ITIG">Ingeniería Técnica en Informática de Gestión
       <OPTION VALUE="ITIS">Ingeniería Técnica en Informática de Sistemas
    </SELECT>


    <?PHP
       print ($titulacion);
       //print ($_REQUEST [‘titulacion’]);
    ?>
Acceso a formularios desde PHP

s   SELECT múltiple
    <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
       $n = count ($idiomas);
       for ($i=0; $i<$n; $i++)
          print (“$idiomas[$i]<BR>n”);
       //foreach ($_REQUEST[‘idiomas’] as $idioma)
          //print (“$idioma<BR>n”);
    ?>
Acceso a formularios desde PHP

s   TEXTAREA
    <TEXTAREA COLS=“30" ROWS=“4" NAME="comentario">
    Este libro me parece ...
    </TEXTAREA>


    <?PHP
       print ($comentario);
       //print ($_REQUEST [‘comentario’]);
    ?>
Acceso a formularios desde PHP
s   Ejercicio 2: programa que muestra los datos
    introducidos desde un formulario
       – Ilustra cómo acceder a los valores introducidos desde todos
         los tipos de elementos de entrada de un formulario, con
         excepción de los tipos BUTTON y FILE, que se tratan en
         ejercicios posteriores
El formulario de PHP
s   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
s   Ventajas:
       – Disminuye el número de ficheros
       – Permite validar los datos del formulario en el propio formulario
s   Procedimiento:

       si se ha enviado el formulario:
           Procesar formulario
       si no:
           Mostrar formulario
       fsi
El formulario de PHP
s   Para saber si se ha enviado el formulario se acude a la
    variable correspondiente al botón de envío. Si este botón
    aparece de la siguiente forma en el formulario HTML:

         <INPUT TYPE="SUBMIT" NAME="enviar“ VALUE="procesar">

    entonces la condición anterior se transforma en:
         if (isset($enviar))
    o bien
         if ($enviar == “procesar”)
El formulario de PHP
s   Ejercicio 3: formulario de PHP
       –   Ilustra cómo crear páginas multipropósito que sirven tanto
           para mostrar un formulario como para procesarlo
Subida de ficheros al servidor
s   Para subir un fichero al servidor se utiliza el elemento de
    entrada FILE
s   Hay que tener en cuenta una serie de consideraciones
    importantes:
       – El elemento FORM debe tener el atributo ENCTYPE="multipart/
         form-data“
       – El fichero tiene un límite en cuanto a su tamaño. Este límite se
         fija de dos formas diferentes:
             •   En el fichero de configuración php.ini
             •   En el propio formulario
Subida de ficheros al servidor

php.ini
   ;;;;;;;;;;;;;;;;
   ; File Uploads ;
   ;;;;;;;;;;;;;;;;
   ; Whether to allow HTTP file uploads.
   file_uploads = On

   ; Temporary directory for HTTP uploaded files (will use
   ; system default if not specified).
   ;upload_tmp_dir =

   ; Maximum allowed size for uploaded files.
   upload_max_filesize = 2M

formulario
   <INPUT TYPE=”HIDDEN” NAME=”MAX_FILE_SIZE” VALUE='102400'>
   <INPUT TYPE=”FILE” NAME="fichero">
Subida de ficheros al servidor
s   Consideraciones (cont)
       – Debe darse al fichero un nombre que evite coincidencias con
         ficheros ya subidos. Por ello, y como norma general, debe
         descartarse el nombre original del fichero y crear uno nuevo
         que sea único
       – El fichero subido se almacena en un directorio temporal y
         hemos de moverlo al directorio de destino usando la función
         move_upload_file()
s   Procedimiento:

       si se ha subido correctamente el fichero:
          Asignar un nombre al fichero
          Mover el fichero a su ubicación definitiva
       si no:
          Mostrar un mensaje de error
       fsi
Subida de ficheros al servidor
                                                                      HTML
<INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="102400">
<INPUT TYPE="FILE" SIZE="44" NAME="imagen">

s   La variable $_FILES contiene toda la información del fichero
    subido:
       – $_FILES['imagen']['name']
             •   Nombre original del fichero en la máquina cliente
       – $_FILES['imagen']['type']
             •   Tipo mime del fichero. Por ejemplo, "image/gif"
       – $_FILES['imagen']['size']
             •   Tamaño en bytes del fichero subido
       – $_FILES['imagen']['tmp_name']
             •   Nombre del fichero temporal en el que se almacena el fichero
                 subido en el servidor
       – $_FILES['imagen’]['error']
             •   Código de error asociado al fichero subido
Subida de ficheros al servidor
                                                                  PHP
if (is_uploaded_file ($_FILES['imagen']['tmp_name']))
{
   $nombreDirectorio = "img/";
   $idUnico = time();
   $nombreFichero = $idUnico . "-" . $_FILES['imagen']['name'];
   move_uploaded_file ($_FILES['imagen']['tmp_name'],
      $nombreDirectorio . $nombreFichero);
}
else
   print ("No se ha podido subir el ficheron");
Subida de ficheros al servidor
s   Ejercicio 4: subida de un fichero al servidor
       – Ilustra cómo subir ficheros a un servidor, cómo controlar su
         tamaño, cómo crear un nombre único para el fichero y cómo
         almacenarlo en el lugar deseado
Campos dinámicos con JavaScript
s   Es habitual que un campo de un formulario deba cambiar de
    valor al modificarse otro campo del mismo formulario
s   Si el nuevo valor está almacenado en una base de datos, la
    solución es volver a cargar el formulario con los nuevos
    requisitos
s   En algunos casos el nuevo valor puede calcularse de forma
    automática, para lo cual podemos usar JavaScript
       – Ejemplo: introducción de una fecha
Campos dinámicos con JavaScript
s   Ejercicio 5: formulario con campos que se actualizan
    dinámicamente
       – Ilustra cómo actualizar el valor de un campo de un
         formulario en función del valor de otro, por medio de
         funciones en JavaScript
Validación de formularios
s   Toda la información proveniente de un formulario debe
    considerarse por norma como contaminada, y hay que
    validarla antes de darla por buena y procesarla
s   Lo más eficiente es mostrar los errores sobre el propio
    formulario para facilitar su corrección. Procedimiento:
       si se ha enviado el formulario:
           si hay errores:
               Mostrar formulario con errores
           si no:
               Procesar formulario
           fsi
       si no:
           Mostrar formulario
       fsi
Validación de formularios
s   Este procedimiento se puede resumir para que sólo haya que
    mostrar una vez el formulario, bien con los valores por defecto
    o con los valores introducidos, y con los errores en su caso:
       si se ha enviado el formulario:
           validar datos
       fsi
       si se ha enviado el formulario y no hay errores:
           Procesar formulario
       si no:
           Mostrar formulario con valores por defecto o ya
          enviados
       fsi
Validación de formularios
s   Ejercicio 6: validación de los datos introducidos en un
    formulario
       – Ilustra cómo realizar una validación de los datos
         introducidos en un formulario en el propio formulario

Weitere ähnliche Inhalte

Was ist angesagt?

Gestion de formularios php
Gestion de formularios phpGestion de formularios php
Gestion de formularios phpwilliamCG27
 
Clase 14 doctrine - subir archivos
Clase 14   doctrine - subir archivosClase 14   doctrine - subir archivos
Clase 14 doctrine - subir archivoshydras_cs
 
Manual php completo by_ desarrolloweb
Manual php completo by_ desarrollowebManual php completo by_ desarrolloweb
Manual php completo by_ desarrollowebJomar Burgos Palacios
 
Formularios Y Archivos En Php
Formularios Y Archivos En PhpFormularios Y Archivos En Php
Formularios Y Archivos En PhpConfesorAD
 
Guia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositioswebGuia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositiosweblissette_torrealba
 
Php basico y avanzado
Php basico y avanzadoPhp basico y avanzado
Php basico y avanzadodrakatiadiaz
 
Clase 14 bundles útiles
Clase 14 bundles útilesClase 14 bundles útiles
Clase 14 bundles útileshydras_cs
 
Clase 2 conceptos fundamentales
Clase 2   conceptos fundamentalesClase 2   conceptos fundamentales
Clase 2 conceptos fundamentaleshydras_cs
 
Servicios web en php, perl, java
Servicios web en php, perl, javaServicios web en php, perl, java
Servicios web en php, perl, javaFaby Marcos Solis
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...Pablo Godel
 
Conociendo el Patron Modelo Vista Controlador
Conociendo el Patron   Modelo Vista ControladorConociendo el Patron   Modelo Vista Controlador
Conociendo el Patron Modelo Vista Controladorlissette_torrealba
 
Laboratorio 3 Andres Moreno
Laboratorio 3 Andres MorenoLaboratorio 3 Andres Moreno
Laboratorio 3 Andres MorenoFelipe Moreno
 

Was ist angesagt? (20)

Gestion de formularios php
Gestion de formularios phpGestion de formularios php
Gestion de formularios php
 
Curso php y_mysql
Curso php y_mysqlCurso php y_mysql
Curso php y_mysql
 
Clase 14 doctrine - subir archivos
Clase 14   doctrine - subir archivosClase 14   doctrine - subir archivos
Clase 14 doctrine - subir archivos
 
Manual php completo by_ desarrolloweb
Manual php completo by_ desarrollowebManual php completo by_ desarrolloweb
Manual php completo by_ desarrolloweb
 
Formularios Y Archivos En Php
Formularios Y Archivos En PhpFormularios Y Archivos En Php
Formularios Y Archivos En Php
 
Guia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositioswebGuia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositiosweb
 
Php basico y avanzado
Php basico y avanzadoPhp basico y avanzado
Php basico y avanzado
 
Clase 14 bundles útiles
Clase 14 bundles útilesClase 14 bundles útiles
Clase 14 bundles útiles
 
Jquery para principianes
Jquery para principianesJquery para principianes
Jquery para principianes
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Clase 2 conceptos fundamentales
Clase 2   conceptos fundamentalesClase 2   conceptos fundamentales
Clase 2 conceptos fundamentales
 
Servicios web en php, perl, java
Servicios web en php, perl, javaServicios web en php, perl, java
Servicios web en php, perl, java
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
 
Curso php y_my_sql
Curso php y_my_sqlCurso php y_my_sql
Curso php y_my_sql
 
Iniciacion a PHP (I)
Iniciacion a PHP (I)Iniciacion a PHP (I)
Iniciacion a PHP (I)
 
Conociendo el Patron Modelo Vista Controlador
Conociendo el Patron   Modelo Vista ControladorConociendo el Patron   Modelo Vista Controlador
Conociendo el Patron Modelo Vista Controlador
 
Conociendo PHP
Conociendo PHPConociendo PHP
Conociendo PHP
 
Guia programacionwebbasicophp
Guia programacionwebbasicophpGuia programacionwebbasicophp
Guia programacionwebbasicophp
 
Laboratorio 3 Andres Moreno
Laboratorio 3 Andres MorenoLaboratorio 3 Andres Moreno
Laboratorio 3 Andres Moreno
 
Tutorial php mysql
Tutorial php mysqlTutorial php mysql
Tutorial php mysql
 

Andere mochten auch

Andere mochten auch (7)

Leccion 4.0 bases de datos
Leccion 4.0   bases de datosLeccion 4.0   bases de datos
Leccion 4.0 bases de datos
 
Tema1[php]
Tema1[php]Tema1[php]
Tema1[php]
 
Tema1 php
Tema1 phpTema1 php
Tema1 php
 
Tema2 3
Tema2 3Tema2 3
Tema2 3
 
Sotogrande
SotograndeSotogrande
Sotogrande
 
Curso PHP Y MYSQL
Curso PHP Y MYSQLCurso PHP Y MYSQL
Curso PHP Y MYSQL
 
Ejercicios y practicas en PHP
Ejercicios y practicas en PHPEjercicios y practicas en PHP
Ejercicios y practicas en PHP
 

Ähnlich wie Tema3[php]

Aprendiendo php 3
Aprendiendo php 3Aprendiendo php 3
Aprendiendo php 3Erick Trejo
 
Final portafolio 3 c (1)
Final portafolio 3 c (1)Final portafolio 3 c (1)
Final portafolio 3 c (1)JuanSimbaa8
 
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+Victor Aravena
 
Recuperar datos de un formulario con php
Recuperar datos de un formulario con phpRecuperar datos de un formulario con php
Recuperar datos de un formulario con phpJesus Machicado Gomez
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencapaulcuenca9
 
Ejemplo de formulario
Ejemplo de formularioEjemplo de formulario
Ejemplo de formularioOVAWEB
 
Desarrollo de sistios web
Desarrollo de sistios webDesarrollo de sistios web
Desarrollo de sistios webesmartcrimt
 
Wp config.php
Wp config.phpWp config.php
Wp config.phpgregozz
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpClau Doria
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpClau Doria
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpClau Doria
 

Ähnlich wie Tema3[php] (20)

Aprendiendo php 3
Aprendiendo php 3Aprendiendo php 3
Aprendiendo php 3
 
2 4 formularios_php
2 4 formularios_php2 4 formularios_php
2 4 formularios_php
 
PhpLab05
PhpLab05PhpLab05
PhpLab05
 
Final portafolio 3 c (1)
Final portafolio 3 c (1)Final portafolio 3 c (1)
Final portafolio 3 c (1)
 
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
Insertar Elemento de Contenido PHP en Typo3 6.0+ 6.2+
 
Recuperar datos de un formulario con php
Recuperar datos de un formulario con phpRecuperar datos de un formulario con php
Recuperar datos de un formulario con php
 
Clases de php
Clases de phpClases de php
Clases de php
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuenca
 
EXAMEN
EXAMENEXAMEN
EXAMEN
 
Formularios
FormulariosFormularios
Formularios
 
Seguridad en PHP (es)
Seguridad en PHP (es)Seguridad en PHP (es)
Seguridad en PHP (es)
 
Ejemplo de formulario
Ejemplo de formularioEjemplo de formulario
Ejemplo de formulario
 
Sesion n°6
Sesion n°6Sesion n°6
Sesion n°6
 
Esquemas de seguridad para el servidor
Esquemas de seguridad para el servidorEsquemas de seguridad para el servidor
Esquemas de seguridad para el servidor
 
J M E R L I N P H P
J M E R L I N P H PJ M E R L I N P H P
J M E R L I N P H P
 
Desarrollo de sistios web
Desarrollo de sistios webDesarrollo de sistios web
Desarrollo de sistios web
 
Wp config.php
Wp config.phpWp config.php
Wp config.php
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo php
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo php
 
Procedimiento de creacion de archivo php
Procedimiento de creacion de archivo phpProcedimiento de creacion de archivo php
Procedimiento de creacion de archivo php
 

Kürzlich hochgeladen

CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfHannyDenissePinedaOr
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FJulio Lozano
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).hebegris04
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdfGabrieldeJesusLopezG
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2Eliseo Delgado
 
Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Gonella
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajeKattyMoran3
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfmiriamguevara21
 

Kürzlich hochgeladen (20)

CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdf
 
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/FEl PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
El PROGRAMA DE TUTORÍAS PARA EL APRENDIZAJE Y LA FORMACIÓN INTEGRAL PTA/F
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
Acuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptxAcuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptx
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3Apunte de clase Pisos y Revestimientos 3
Apunte de clase Pisos y Revestimientos 3
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguaje
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdf
 

Tema3[php]

  • 1. Curso de PHP s Tema 3: Formularios
  • 2. Tema 3: Formularios 1. Acceso a formularios HTML desde PHP 2. El formulario de PHP 3. Subida de ficheros al servidor 4. Campos dinámicos con JavaScript 5. Validación de los datos de un formulario
  • 3. Acceso a formularios desde PHP s Desde PHP se puede acceder fácilmente a los datos introducidos desde un formulario HTML s Veámoslo con un ejemplo simple
  • 4. Acceso a formularios desde PHP s 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> s Fichero dos.php <HTML> <BODY> <?PHP print (“La edad es: $edad”); ?> </BODY> </HTML>
  • 6. Acceso a formularios desde PHP s A partir de PHP 4.2.0, el valor por defecto de la directiva de PHP register_globals es off s 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 $_REQUEST, escribiendo $_REQUEST[‘edad’] en lugar de $edad s 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 = $_REQUEST[‘edad’];
  • 7. Acceso a formularios desde PHP s 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> s Fichero dos.php <HTML> <BODY> <?PHP $edad = $_REQUEST[‘edad’]; print (“La edad es: $edad”); ?> </BODY> </HTML>
  • 8. Acceso a formularios desde PHP s Ejercicio 1: formulario simple – Ilustra cómo acceder a los valores introducidos desde un formulario HTML
  • 9. Acceso a formularios desde PHP s 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
  • 10. Acceso a formularios desde PHP s TEXT Introduzca la cadena a buscar: <INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20"> <?PHP print ($cadena); //print ($_REQUEST [‘cadena’]); ?>
  • 11. Acceso a formularios desde PHP s RADIO <INPUT TYPE="radio" NAME="titulacion" VALUE=“II“ CHECKED>I.Informática <INPUT TYPE="radio" NAME="titulacion" VALUE="ITIG">I.T.I. Gestión <INPUT TYPE="radio" NAME="titulacion" VALUE="ITIS">I.T.I. Sistemas <?PHP print ($titulacion); //print ($_REQUEST [‘titulacion’]); ?>
  • 12. Acceso a formularios desde PHP s 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 $n = count ($extras); for ($i=0; $i<$n; $i++) print (“$extras[$i]<BR>n”); //foreach ($_REQUEST[‘extras’] as $extra) //print (“$extra<BR>n”); ?>
  • 13. Acceso a formularios desde PHP s BUTTON <INPUT TYPE="button" NAME="nueva" VALUE="Añadir una más"> <?PHP if ($nueva) print ("Se va a añadir una nueva"); //if ($_REQUEST [‘nueva’]) //print ("Se va a añadir una nueva"); ?>
  • 14. Acceso a formularios desde PHP s FILE <FORM ACTION="procesa.php" METHOD="post“ ENCTYPE="multipart/form-data"> <INPUT TYPE="file" NAME="fichero"> </FORM>
  • 15. Acceso a formularios desde PHP s HIDDEN <?PHP print(“<INPUT TYPE=’hidden’ NAME=’username’ VALUE=’$usuario’>n”); ?> <?PHP print ($username); //print ($_REQUEST [‘username’]); ?>
  • 16. Acceso a formularios desde PHP s PASSWORD Contraseña: <INPUT TYPE="password" NAME="clave"> <?PHP print ($clave); //print ($_REQUEST [‘clave’]); ?>
  • 17. Acceso a formularios desde PHP s SUBMIT <INPUT TYPE="submit" NAME="enviar" VALUE="Enviar datos"> <?PHP if ($enviar) print ("Se ha pulsado el botón de enviar"); //if ($_REQUEST [‘enviar’]) //print ("Se ha pulsado el botón de enviar"); ?>
  • 18. Acceso a formularios desde PHP s SELECT simple <SELECT NAME="titulacion"> <OPTION VALUE="II" SELECTED>Ingeniería Informática <OPTION VALUE="ITIG">Ingeniería Técnica en Informática de Gestión <OPTION VALUE="ITIS">Ingeniería Técnica en Informática de Sistemas </SELECT> <?PHP print ($titulacion); //print ($_REQUEST [‘titulacion’]); ?>
  • 19. Acceso a formularios desde PHP s SELECT múltiple <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 $n = count ($idiomas); for ($i=0; $i<$n; $i++) print (“$idiomas[$i]<BR>n”); //foreach ($_REQUEST[‘idiomas’] as $idioma) //print (“$idioma<BR>n”); ?>
  • 20. Acceso a formularios desde PHP s TEXTAREA <TEXTAREA COLS=“30" ROWS=“4" NAME="comentario"> Este libro me parece ... </TEXTAREA> <?PHP print ($comentario); //print ($_REQUEST [‘comentario’]); ?>
  • 21. Acceso a formularios desde PHP s Ejercicio 2: programa que muestra los datos introducidos desde un formulario – Ilustra cómo acceder a los valores introducidos desde todos los tipos de elementos de entrada de un formulario, con excepción de los tipos BUTTON y FILE, que se tratan en ejercicios posteriores
  • 22. El formulario de PHP s 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 s Ventajas: – Disminuye el número de ficheros – Permite validar los datos del formulario en el propio formulario s Procedimiento: si se ha enviado el formulario: Procesar formulario si no: Mostrar formulario fsi
  • 23. El formulario de PHP s Para saber si se ha enviado el formulario se acude a la variable correspondiente al botón de envío. Si este botón aparece de la siguiente forma en el formulario HTML: <INPUT TYPE="SUBMIT" NAME="enviar“ VALUE="procesar"> entonces la condición anterior se transforma en: if (isset($enviar)) o bien if ($enviar == “procesar”)
  • 24. El formulario de PHP s Ejercicio 3: formulario de PHP – Ilustra cómo crear páginas multipropósito que sirven tanto para mostrar un formulario como para procesarlo
  • 25. Subida de ficheros al servidor s Para subir un fichero al servidor se utiliza el elemento de entrada FILE s Hay que tener en cuenta una serie de consideraciones importantes: – El elemento FORM debe tener el atributo ENCTYPE="multipart/ form-data“ – El fichero tiene un límite en cuanto a su tamaño. Este límite se fija de dos formas diferentes: • En el fichero de configuración php.ini • En el propio formulario
  • 26. Subida de ficheros al servidor php.ini ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. file_uploads = On ; Temporary directory for HTTP uploaded files (will use ; system default if not specified). ;upload_tmp_dir = ; Maximum allowed size for uploaded files. upload_max_filesize = 2M formulario <INPUT TYPE=”HIDDEN” NAME=”MAX_FILE_SIZE” VALUE='102400'> <INPUT TYPE=”FILE” NAME="fichero">
  • 27. Subida de ficheros al servidor s Consideraciones (cont) – Debe darse al fichero un nombre que evite coincidencias con ficheros ya subidos. Por ello, y como norma general, debe descartarse el nombre original del fichero y crear uno nuevo que sea único – El fichero subido se almacena en un directorio temporal y hemos de moverlo al directorio de destino usando la función move_upload_file() s Procedimiento: si se ha subido correctamente el fichero: Asignar un nombre al fichero Mover el fichero a su ubicación definitiva si no: Mostrar un mensaje de error fsi
  • 28. Subida de ficheros al servidor HTML <INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="102400"> <INPUT TYPE="FILE" SIZE="44" NAME="imagen"> s La variable $_FILES contiene toda la información del fichero subido: – $_FILES['imagen']['name'] • Nombre original del fichero en la máquina cliente – $_FILES['imagen']['type'] • Tipo mime del fichero. Por ejemplo, "image/gif" – $_FILES['imagen']['size'] • Tamaño en bytes del fichero subido – $_FILES['imagen']['tmp_name'] • Nombre del fichero temporal en el que se almacena el fichero subido en el servidor – $_FILES['imagen’]['error'] • Código de error asociado al fichero subido
  • 29. Subida de ficheros al servidor PHP if (is_uploaded_file ($_FILES['imagen']['tmp_name'])) { $nombreDirectorio = "img/"; $idUnico = time(); $nombreFichero = $idUnico . "-" . $_FILES['imagen']['name']; move_uploaded_file ($_FILES['imagen']['tmp_name'], $nombreDirectorio . $nombreFichero); } else print ("No se ha podido subir el ficheron");
  • 30. Subida de ficheros al servidor s Ejercicio 4: subida de un fichero al servidor – Ilustra cómo subir ficheros a un servidor, cómo controlar su tamaño, cómo crear un nombre único para el fichero y cómo almacenarlo en el lugar deseado
  • 31. Campos dinámicos con JavaScript s Es habitual que un campo de un formulario deba cambiar de valor al modificarse otro campo del mismo formulario s Si el nuevo valor está almacenado en una base de datos, la solución es volver a cargar el formulario con los nuevos requisitos s En algunos casos el nuevo valor puede calcularse de forma automática, para lo cual podemos usar JavaScript – Ejemplo: introducción de una fecha
  • 32. Campos dinámicos con JavaScript s Ejercicio 5: formulario con campos que se actualizan dinámicamente – Ilustra cómo actualizar el valor de un campo de un formulario en función del valor de otro, por medio de funciones en JavaScript
  • 33. Validación de formularios s Toda la información proveniente de un formulario debe considerarse por norma como contaminada, y hay que validarla antes de darla por buena y procesarla s Lo más eficiente es mostrar los errores sobre el propio formulario para facilitar su corrección. Procedimiento: si se ha enviado el formulario: si hay errores: Mostrar formulario con errores si no: Procesar formulario fsi si no: Mostrar formulario fsi
  • 34. Validación de formularios s Este procedimiento se puede resumir para que sólo haya que mostrar una vez el formulario, bien con los valores por defecto o con los valores introducidos, y con los errores en su caso: si se ha enviado el formulario: validar datos fsi si se ha enviado el formulario y no hay errores: Procesar formulario si no: Mostrar formulario con valores por defecto o ya enviados fsi
  • 35. Validación de formularios s Ejercicio 6: validación de los datos introducidos en un formulario – Ilustra cómo realizar una validación de los datos introducidos en un formulario en el propio formulario