Php teoria

download Php teoria

of 75

Transcript of Php teoria

  • 7/25/2019 Php teoria

    1/75

    1 - Qu es PHP?

    PHP (acrnimo de "PHP: Hypertext Preprocessor") es un lenguajeinterpretado de alto nivel embebido en pginas HTM y ejecutado enel servidor!

    Hay ue entender primero como #unciona la solicitud de pginas enun navegador para comen$ar a programar en PHP!

    Comunicacin entre el cliente y el servidor sin PHP:

    % & Tipeamos en la barra del navegador la direccin y el arc'ivo asolicitar!

    & l *eb bro*ser (navegador) env+a el mensaje a trav,s de -nterneta la computadora. por ejemplo ***!lanacion!com/pagina%!'tmsolicitando la pgina (arc'ivo) pagina%!'tm

    0 & l *eb server (servidor *eb. ue puede ser el 1pac'e. --2. etc!)ue es un programa ue se ejecuta en la muina***!lanacion!com. recibe el mensaje y lee el arc'ivo solicitado desdeel disco duro!

    3 & l servidor *eb env+a el arc'ivo solicitado por el navegador tal

    cual est en el disco duro!

    4 & l navegador muestra en pantalla el arc'ivo ue envi el servidor*eb!

    ste proceso siempre es el mismo cuando 'ablamos de pginasestticas (pginas ue no cambian). cualuiera sea el cliente uesolicita la pgina el contenido siempre ser el mismo!

    a 5nica #orma ue el contenido del arc'ivo cambie es ue el

    administrador de ese sitio *eb edite el contenido del arc'ivopagina%!'tm y 'aga modi#icaciones!

    Comunicacin entre el cliente y el servidor con PHP:

    % & Tipeamos en la barra del navegador la direccin y el arc'ivo asolicitar!

    & l *eb bro*ser (navegador) env+a el mensaje a trav,s de -nterneta la computadora llamada ***!lanacion!com solicitando la pgina(arc'ivo) pagina%!p'p

  • 7/25/2019 Php teoria

    2/75

    0 & l *eb server (servidor *eb. ue puede ser el 1pac'e. --2. etc!).recibe el mensaje y al ver ue la extension es "p'p" solicita alinterprete de PHP (ue es otro programa ue se ejecuta en elservidor *eb) ue le env+e el arc'ivo!

    3 & l int,rprete PHP lee desde el disco el arc'ivo pagina%!p'p

    4 & l int,rprete PHP ejecuta los comandos contenidos en el arc'ivo yeventualmente se comunica con un gestor de base de datos(ejemplos de ellos pueden ser My2l. 6racle. -n#ormix. 27 2erver.etc!)

    8 & uego de ejecutar el programa contenido en el arc'ivo env+a ,steal servidor *eb!

    9 & l servidor *eb env+a la pgina al cliente ue la 'ab+a solicitado!

    & l navegador muestra en pantalla el arc'ivo ue envi el servidor*eb!

    Para auellas personas ue conocen otros lenguajes de programacin(; &

  • 7/25/2019 Php teoria

    3/75

    1ceptamos los t,rminos y condiciones:

    legimos el directorio donde se instalar":

  • 7/25/2019 Php teoria

    4/75

    -ndicamos si ueremos ue se cree un +cono en el escritorio:

    Procedemos a presionar el botn "-nstall":

  • 7/25/2019 Php teoria

    5/75

    uego de instalarse nos solicita ue navegador abrir por de#ectocuando ejecutemos el P'pMy1dmin (para la creacin de la base dedatos de My27):

  • 7/25/2019 Php teoria

    6/75

    n el siguiente dilogo dejamos los datos por de#ecto:

  • 7/25/2019 Php teoria

    7/75

    >inalmente aparece el dilogo #inal donde se nos in#orma ue seiniciar el ?amp2erver (es decir ue se cargar en memoria el1pac'e. el PHP y el servidor de base de datos My27) :

    1'ora podemos ver el icono del ?amp2erver en la bandeja delsistema de ?indo*s (si se encuentra en color verde signi#ica ue estejecutndose correctamente):

    ;uando trabajemos otro d+a recordemos de iniciar el programa?amp2erver y ver ue aparece en la bandeja del sistema (para estodesde el men5 de ?indo*s iniciamos "start ?amp2erver):

  • 7/25/2019 Php teoria

    8/75

    ' - Pro(rama )Hola $undo) en PHP

    Para agregar un programa PHP dentro de una pgina HTM debemos

    por un lado al crear el arc'ivo de#inirlo con extensin p'p (adi#erencia de las pginas estticas ue tienen extensin 'tm o 'tml) ydentro del contenido de la pgina. encerrar el programa entre loss+mbolos

    l comando de PHP para imprimir dentro de la pgina se llama ec'o!@uestro programa "Hola Mundo" ser entonces:

    s decir ue la pgina ue se generar al ejecutarse el programa

    ser:

    Hola Mundo

    Podemos utili$ar como editor de texto para codi#icar el programa PHP

    el

  • 7/25/2019 Php teoria

    9/75

    @otePadAA!

    uego de tipear el programita con el editor de texto:

    Bebemos almacenar dic'o arc'ivo en la subcarpeta *** uedepende de la carpeta ?amp (en mi caso instal, el ?amp2erver enc:C?amp)

    o almacenamos con el nombre pagina%!p'p en la carpeta;:C*ampC***

    ste directorio es el ue el servidor *eb 1pac'e tiene asignado pararecuperar pginas cuando se las solicitamos desde un navegador!

    Da tenemos almacenado el arc'ivo en la carpeta *** del *amp.a'ora procedemos a solicitar dic'a pgina desde un navegador *eb.para esto en la barra del navegador tipeamos:

    http://localhot/pagina!php

    http://notepad-plus-plus.org/http://notepad-plus-plus.org/
  • 7/25/2019 Php teoria

    10/75

    Tenemos en el navegador el resultado de la ejecucin del programa!

    ;omo podemos ver. es muy poco 5til este programita. ya ue elresultado de la ejecucin de este programa PHP ser siempre elmismo. es decir mostrar el texto "Hola Mundo"!

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en labarra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

    pagina%!p'p

  • 7/25/2019 Php teoria

    11/75

    Pro*lema propuesto+

    ;on#eccione un programa ue muestre una serie de mensajes en lapgina empleando el comando ec'o! Tenga en cuenta ue cuando

    utili$a el comando ec'o el mensaje se debe encerrar entre comillasdobles (como veremos ms adelante tambi,n podr encerrarse entresimples comillas)!Toda instruccin #inali$a con punto y coma!

    Problema

  • 7/25/2019 Php teoria

    12/75

    Para veri#icar si la variable Gdia es menor o igual a %F. debemosemplear la instruccin i#. similar a otros lenguajes!

    ntonces la pgina con el programa ueda de la siguiente #orma:

    os nombres de variables son sensibles a may5sculas y min5sculas.por lo ue si la escribimos en min5scula inicialmente debemosrespetar en el resto del programa! n cambio las instrucciones dellenguaje PHP no son sensibles por lo ue si deseamos escribir -> o i#.

    las dos #ormas estarn bien (es ms com5n escribir las palabrasclaves siempre en min5sculas)

    a condicin del i# debe ir obligatoriamente entre par,ntesis! osoperadores relacionales disponibles son:

    > Mayor>) Mayor o igual< Menor

  • 7/25/2019 Php teoria

    13/75

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en labarra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o el

    nombre del arc'ivo ue le di)

    pagina%!p'p

    Pro*lema propuesto+

    2abiendo ue la #uncin rand nos retorna un valor aleatorio entre unrango de dos enteros:

    (num)rand*!3!&&+;

    n la variable Gnum se almacena un valor entero ue la computadoragenera en #orma aleatoria entre % y %FF!

    Hacer un programa ue lo muestre por pantalla al valor generado!Mostrar adems si es menor o igual a 4F o si es mayor!

    Para imprimir el contenido de una variable tambi,n utili$amos elcomando ec'o:

    echo (num;

    Problema

  • 7/25/2019 Php teoria

    14/75

  • 7/25/2019 Php teoria

    15/75

    Para la impresin de variables utili$aremos inicialmente el comandoec'o! En programa completo ue iniciali$a y muestra el contenido decuatro variables de distinto tipo es:

    Problema

  • 7/25/2019 Php teoria

    16/75

  • 7/25/2019 Php teoria

    17/75

    (cadena!)"Hola";(cadena%)"Mundo";echo (cadena!" "(cadena%;

    Para concatenar string empleamos el operador ! (punto)

    Tengamos en cuenta ue el comando ec'o de ms arriba lo podemos'acer ms largo de la siguiente #orma:

    echo (cadena!;echo " ";echo (cadena%;

    1 medida ue uno 'aga ejercicios podremos resumir en un solocomando ec'o la salida de m5ltiples variables!

    ;uando una cadena encerrada entre comillas dobles contiene unavariable en su interior. ,sta se trata como tal. por lo tanto se utili$arsu contenido para el almacenamiento:

    (dia)!&;(,echa)"Hoy e (dia";echo (,echa;

    n pantalla se muestra: Hoy es %F

    s decir. en la cadena. se sustituye el nombre de la variable Gdia. conel contenido de la misma!

    Ena cadena se puede de#inir con las comillas simples (pero esimportante tener en cuenta ue no se sustituyen las variables siempleamos comillas simples):

    (nombre)uan carlo;

    Ieremos ue en muc'os casos se utili$a el concepto de sustitucin de

    variables dentro de un string en PHP por lo ue nos acostumbraremosen un principio a utili$ar las comillas dobles para de#inir los string ennuestros programas!

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si

    'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en la

  • 7/25/2019 Php teoria

    18/75

    barra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

    pagina%!p'p

    Pro*lema propuesto+

    Be#inir tres variables enteras! uego de#inir un string ue incorporedic'as variables y las sustituya en tiempo de ejecucin!

    Jecordar ue una variable se sustituye cuando el string est

    encerrado por comillas dobles:

    (precio)@&;echo "Aa computadora tiene un precio de (precio";

    pagina%!p'p

    3structura condicional !i4&

    %roblema

  • 7/25/2019 Php teoria

    19/75

    ;uando se pretende ue el programa. una ve$ llegado a un ciertopunto. tome un camino concreto en determinados casos y otrodi#erente si las condiciones de ejecucin di#ieren. se utili$a el conjuntode instrucciones:i#. else y elsei#! a estructura base de este tipo de instrucciones es la

    siguiente:

    i, *BondiciCn+- 0ntrucciCn a!; 0ntrucciCn a%;ele- 0ntrucciCn b!;

    0ntrucciCn b%;

    ;uando la ejecucin llega al punto donde se encuentra la instruccini#. el programa veri#icar el cumplimiento o no de la condicin! 2i lacondicin es verdadera se ejecutarn las instrucciones a% y a. de locontrario. se ejecutarn las instrucciones b% y b!

    n los casos en ue las condiciones sean varias. se pueden utili$ar losi# de un modo denominado anidado o anillado. como se indica de lamanera siguiente:

    i, *Bondicion !+- 0ntrucciCn a!; 0ntrucciCn a%;ele- i, *Bondicion %+ -

    0ntrucciCn b!; 0ntrucciCn b%; ele - 0ntrucciCn c!; 0ntrucciCn c%;

    Be este modo se pueden introducir tantas condiciones como se uiera

    dentro de la condicin principal! Ena variante de este sistema es

  • 7/25/2019 Php teoria

    20/75

    utili$ando la sentencia elsei#. ue permite en una sola l+nea introduciruna condicin adicional:

    i, *Bondicion !+-

    0ntrucciCn a!; 0ntrucciCn a%;elei, *Bondicion %+- 0ntrucciCn b!; 0ntrucciCn b%;ele- 0ntrucciCn c!; 0ntrucciCn c%;

    Para las condiciones tener en cuenta ue disponemos de lossiguientes operadores:

    )) para .er i una .ariable e igual a otra1) ditinto>) mayor o igual> mayor

  • 7/25/2019 Php teoria

    21/75

    ele- echo "5 mayor a 4";?>

    s importante recordar ue siempre la condicin del i# debe ir entrepar,ntesis! 2i la condicin del i# se veri#ica verdadera (es decir eln5mero sorteado es menor o igual a 4) ejecuta el primer bloue uese encuentra entre llaves! n caso de veri#icarse #alsa la condicin deli# se ejecuta el bloue entre llaves ue se encuentra despu,s del else!

    l valor aleatorio lo generamos llamando a la #uncin rand pasndole

    el valor m+nimo y mximo:

    (.alor)rand*!3!&+;

    -mprimimos el valor generado a los e#ectos de controlar el resultado:

    echo "5l .alor orteado e (.alor
    ";

    n el primer problema tenemos solo dos caminos posibles. el valor esmenor o igual a cinco o es mayor!n un segundo ejemplomostraremos como disponer una estructura condicional i# anidada!

    l problema es el siguiente: Kenerar un valor aleatorio entre % y %FF!uego mostrar si tiene %. o 0 d+gitos!

    ;omo podemos observar estamos en presencia de un problema uetiene tres caminos posibles! l valor puede tener % d+gito. d+gitos o0 d+gitos! 2i pensamos un poco podremos identi#icar ue para uetenga un d+gito debe generarse un valor entre % y L. para ue tengados d+gitos deber estar comprendido entre %F y LL. y #inalmentepara tener 0 d+gitos deber ser el valor %FF!

    a pgina con el programa respectivo es:

    Problema

  • 7/25/2019 Php teoria

    22/75

    echo "$iene un dDgito";ele- i, *(.alor

    - echo "$iene % dDgito"; ele - echo "$iene dDgito"; ?>

    s importante notar como la segunda estructura i# se encuentracontenida entre las llaves del else del primer i#! s decir ue si elvalor aleatorio es menor o igual a L se ejecuta el bloue delverdadero del primer i# y no se ejecuta por lo tanto el i# anidado en elelse! Por el contrario si la condicin del primer i# se veri#ica #alsa seejecuta el bloue del else del primer i#. la misma contiene unaestructura i# con sus bloues del verdadero y #also!

    1 modo ilustrativo el mismo ejemplo resuelto con la estructura

    i#/elsei# ser:

    Problema

  • 7/25/2019 Php teoria

    23/75

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en labarra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

    pagina%!p'p

    Pro*lema propuesto+

    Kenerar un valor aleatorio entre % y 0! uego imprimir en castellanoel n5mero (j! si se genera el 0 luego mostrar en la pgina el string"tres")!

    Para ver si una variable es igual a cierto valor debemos plantear unacondicin similar a:

    i, *(.alor))+- //algoritmo

    %roblema

  • 7/25/2019 Php teoria

    24/75

    pagina%!p'p

    3structuras repetitivas !4or - 5#ile - do65#ile&

    as estructuras repetitivas son similares al lenguaje ;.

  • 7/25/2019 Php teoria

    25/75

    ,or*(,)!;(,

  • 7/25/2019 Php teoria

    26/75

    echo (inicio; echo "
    "; (inicioFF;?>

    a variable Ginicio tiene el valor % antes de ingresar al *'ile! ;adave$ ue se ejecuta una ve$ el bloue del *'ile se incrementa Ginicioen uno! ;uando Ginicio supere la variable Gvalor #inali$ar laestructura repetitiva y pasar a ejecutarse la instruccininmediatamente siguiente a la llave de cerrado del *'ile!

    s importante notar ue luego de la condicin del *'ile @6

    disponemos PE@T6 y ;6M1!

    Por 5ltimo tenemos en el lenguaje una estructura repetitiva similar al*'ile llamada do/*'ile. donde la condicin se veri#ica luego deejecutarse el bloue repetitivo!

    do- [0ntruccione]; Ghile *condiciCn+;

    7ueda como tarea intentar 'acer una pgina empleando estaestructura! Tener en cuenta ue al #inal de la l+nea del do/*'ile 2-I1 punto y coma!

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en labarra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

  • 7/25/2019 Php teoria

    27/75

    pagina%!p'p

    Pro*lema propuesto+

    Mostrar la tabla de multiplicar del ! mplear el #or. luego el *'ile ypor 5ltimo el do/*'ile!a estructura #or permite incrementar una variable de en :

    ,or*(,)%;(,

  • 7/25/2019 Php teoria

    28/75

    a estructura m+nima de un #ormulario es la siguiente: para laentrada de un nombre de persona. un objeto text y un botn para elenv+o del dato al servidor:

    ormulario de entrada del dato

    0ngree u nombre:

    sta pgina est completamente codi#icada en HTM. es decir un#ormulario contiene elementos HTM puros!

    l elemento #ormN y /#ormN nos permite de#inir un #ormulario enla pgina!

    ste elemento tiene dos propiedades ue debemos iniciali$ar

    obligatoriamente: action y met'od!

    a propiedad action indica el nombre del arc'ivo ue recibir losdatos ingresados por el operador en el #ormulario y ue sernenviados al servidor cuando se presione el botn (submit)! apropiedad met'od indica como se organi$an esos datos para enviarlosal servidor. pudiendo ser mediante los m,todos post o get(normalmente los datos de un #ormulario se env+an mediante elm,todo post)!

    Para crear un cuadro de texto para el ingreso del nombre debemosde#inir un objeto de tipo "text" y darle un nombre:

    a propiedad type nos permite de#inir el tipo de control y con lapropiedad name indicamos el nombre del control!

    Por 5ltimo todo #ormulario tiene un botn de tipo submit:

  • 7/25/2019 Php teoria

    29/75

    Tambi,n utili$amos el elemento input pero en la propiedad typeindicamos ue se trata de un botn de env+o de datos! n lapropiedad value indicamos el texto ue ueremos ue apare$ca en elbotn!

    1'ora necesitamos una pgina con un peueOo programa en PHP ueprocese los datos ingresados en el #ormulario:

    Baptura de dato del ,orm

  • 7/25/2019 Php teoria

    30/75

    pagina%!p'p

    pagina!p'p

    Pro*lema propuesto+

    ;on#eccionar un #ormulario ue solicite la carga de un nombre depersona y su edad. luego mostrar en otra pgina si es mayor de edad(si la edad es mayor o igual a %)

    ormulario de entrada del dato

    @n-rese su nombre.


    Aaptura de datos del form

  • 7/25/2019 Php teoria

    31/75

    pagina%!p'p

    pagina!p'p

    89$%"I9 !control radio&

    l control HTM radio generalmente se utili$a en conjunto con otroscontroles radio! ;uando agrupamos un conjunto de controles radiosolo uno de ellos puede estar seleccionado y si seleccionamos otro se

    desmarca el actual!

    Para anali$ar este control dispondremos un ejemplo:

    -mplementar un #ormulario ue solicite la carga de dos enteros. unoen cada text!Bisponer dos controles de tipo radio ue nos permitan seleccionar siueremos sumar o restar los dos valores ingresados:

    Problema

    @n-rese el nombre.


    @n-rese la edad.


  • 7/25/2019 Php teoria

    32/75

    0ngree primer .alor:


    0ngree egundo .alor:
    umar
    retar

    s importante notar ue se trata nuevamente de un arc'ivo HTMpuro. ue no tiene cdigo PHP!a entrada de los dos n5meros se e#ect5a en dos controles

    s importante notar ue cada text tiene un name B->J@T!

    Para seleccionar el tipo de operacin a e#ectuar disponemos doscontroles de tipo radio:

    umar
    retar

    1'ora vemos ue los dos controles de tipo radio tienen el M-2M6nombre! sto es necesario para ue el navegador sepa ue los doscontroles estn relacionados (recordar ue cuando uno selecciona un

    radio se debe deseleccionar el otro)

    Besde la otra pgina accederemos al value del control seleccionado!

    Por 5ltimo disponemos un control de tipo submit para el env+o de losdatos del #ormulario!

    l cdigo de la pgina ue procesa el #ormulario.llamada:"pagina!p'p" (la ue indicamos en el elemento >6JM del#ormulario) es:

  • 7/25/2019 Php teoria

    33/75

    Problema

  • 7/25/2019 Php teoria

    34/75

    barra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

    pagina%!p'p

    pagina!p'p

    Pro*lema propuesto+

  • 7/25/2019 Php teoria

    35/75

    pagina%!p'p

    pagina!p'p

    89$%"I9 !control c#ec=*o;&

    l control c'ecbox tiene dos estados: seleccionado o noseleccionado!

    Para anali$ar este control utili$aremos prcticamente el mismo

    ejemplo ue con el objeto radio:

    -mplementar un #ormulario ue solicite la carga de dos enteros. unoen cada text!Bisponer dos controles de tipo c'ecbox ue nos permitan seleccionarsi ueremos sumar y/o restar los valores ingresados!

    l #ormulario 'tml tiene el siguiente cdigo:

    Problema


    9studios.


    Fin estudios


    9studios primarios


    9studios secundarios


    %roblema

  • 7/25/2019 Php teoria

    36/75

    0ngree primer .alor:

    0ngree egundo .alor:
    umar
    retar

    o nuevo en este problema son los dos controles de tipo c'ecbox:

    umar
    retar

    s importante notar ue cada c'ecbox tiene un nombre distinto!

    1'ora veamos el cdigo de la pgina ue procesa el #ormulario:

    Problema

  • 7/25/2019 Php teoria

    37/75

    2i el c'ecbox no est seleccionado en el #ormulario no se crea unaentrada en el vector asociativo GJ7E2T. para saber si existe unadeterminada componente en un vector se emplea la #uncin isset. siretorna true signi#ica ue existe y por lo tanto el c'ecbox estseleccionado!

    Bisponemos dos i# a la misma altura ya ue los dos controles de tipoc'ecbox podr+an estar seleccionados!

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en labarra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

    pagina%!p'p

    %roblema

    @n-rese primer #alor.


    @n-rese se-undo #alor.


    sumar


  • 7/25/2019 Php teoria

    38/75

    pagina!p'p

    Pro*lema propuesto+

    ;on#eccionar un #ormulario ue solicite la carga del nombre de unapersona y ue permita seleccionar una serie de deportes ue practica(#utbol. baset. tennis. voley)Mostrar en la pgina ue procesa el #ormulario la cantidad dedeportes ue practica!

    pagina%!p'p

    %roblema

  • 7/25/2019 Php teoria

    39/75

    pagina!p'p

    89$%"I9 !control select&

    Ieamos a'ora como podemos rescatar desde PHP el elementoseleccionado de un control HTM de tipo select!

    -mplementar un #ormulario ue solicite la carga de dos enteros. unoen cada "text"!Bisponer un control de tipo select ue nos permita seleccionar siueremos sumar o restar los dos valores ingresados:

    Problema0ngree primer .alor:
    0ngree egundo .alor:
    umarretar

    %roblema

  • 7/25/2019 Php teoria

    40/75

    o nuevo ue aparece en este #ormulario es el control de tipo select!

    umarretar

    ;ada opcin tiene un valor (value)! l seleccionado es el ue seenviar a la pgina ue procesa el #ormulario! l texto ue aparecedentro del control es el ue disponemos entre las marcas option!

    1'ora la pgina ue captura los datos ingresados en el #ormulario es:

    Problema

  • 7/25/2019 Php teoria

    41/75

    -(reta)(JK5L58$[.alor!] N (JK5L58$[.alor%];echo "Aa reta e:"(reta;

    ?>

    2lo se puede seleccionar un elemento de un control select (msadelante veremos como seleccionar varios elementos en #ormasimultneo)

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en labarra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

    pagina%!p'p

    %roblema

    @n-rese primer #alor.


    @n-rese se-undo #alor.


    sumar

  • 7/25/2019 Php teoria

    42/75

    pagina!p'p

    Pro*lema propuesto+;on#eccionar un #ormulario ue solicite el ingreso del nombre de unapersona y un control select (en este 5ltimo permitir la seleccin de losingresos mensuales de la persona: %&%FFF.%FF%&0FFF.N0FFF)n la pgina ue procesa el #ormulario mostrar un mensaje si debepagar impuestos a las ganancias (si supera 0FFF)

    pagina%!p'p

    %roblema

  • 7/25/2019 Php teoria

    43/75

    pagina!p'p

    89$%"I9 !control te;tarea&

    l control HTM "textarea" se di#erencia del "text" en ue permite elingreso de muc'as l+neas!

    Pro*lema

    -mplementar un #ormulario *eb para ingresar el nombre de unapersona en un control text y mediante un control de tipo textarea se

    permita el ingreso del curriculum de dic'a persona!

    Problema0ngree nombre:
    0ngree u curriculum:


    a sintaxis de este control es bastante di#erente a la del control text:

    2i ueremos ue apare$ca iniciali$ado con texto debemos disponerloen:

    %roblema

  • 7/25/2019 Php teoria

    44/75

    Hola Mundo

    a pgina PHP ue procesa los dos datos ingresados en el #ormularioes:

    Problema

  • 7/25/2019 Php teoria

    45/75

    pagina!p'p

    Pro*lema propuesto+

    ;on#eccionar una pgina ue muestre un contrato dentro de untextarea. disponer puntos suspensivos donde el operador debeingresar un texto! a pgina ue procesa el #ormulario slo debemostrar el contrato con las modi#icaciones ue 'i$o el operador!

    j! de un contrato puede ser:

    5n la ciudad de []3 e acuerda entre la 5mprea []

    repreentada por el 8r [] en u carcter de Qpoderado3con domicilio en la calle [] y el 8r []3,uturo empleado con domicilio en []3 celebrar el preentecontrato a PlaEo io3 de acuerdo a la normati.a .igente de loartDculo @&3@%3@3@73 @4 y concordante de la Aey de Bontrato de$rabao RS %&977

    pagina%!p'p

    %roblema

    %roblema

    Aompletar contrato.

    9n la ciudad de GI5 se acuerda entre la 9mpresa GI representada por el Fr GI en su carOcter de P


  • 7/25/2019 Php teoria

    46/75

    pagina!p'p

    ectores !tradicionales&

    En 1rray es una coleccin de valores! os array pueden serunidimensionales (vectores). bidimensionales (matrices) ymultidimensionales (ms de dos dimensiones)

    os arrays se utili$an ampliamente en el lenguaje PHP!

    2e utili$a el delimitador QS para acceder a los di#erentes elementos del

    vector!

    2e lo puede crear al vuelo. sin tener ue declararlo:

    (dia[&])!;(dia[!])%;

    uego de estas dos l+neas. tenemos creado un vector de doselementos. a los cuales accedemos por un sub+ndice!

    echo (dia[&]; //!echo (dia[!]; //%

    l vector. como podemos ver. puede ir creciendo en #orma dinmica.es decir ue si a'ora 'acemos:

    (dia[%])!;

    el vector a'ora pasa a tener 0 componentes!

    Tambi,n podemos obviar el sub+ndice cuando asignamos los valores:

    (dia[])!;

    %roblema

  • 7/25/2019 Php teoria

    47/75

    (dia[])%;(dia[])!;

    1utomticamente comien$a a numerarse desde cero!

    2i necesitamos conocer el tamaOo del vector en cualuier momentopodemos llamar a la #uncin count!

    echo count*(dia+; //

    2i ueremos imprimir todos los elementos en la pgina podemos'acer:

  • 7/25/2019 Php teoria

    48/75

    pagina%!p'p

    Pro*lema propuesto+

    Be#inir un vector con los nombres de los d+as de la semana! uegoimprimir el primero y el 5ltimo elemento del vector!

    pagina%!p'p

    Creacin de un arc#ivo de te;to+

    Ena actividad #undamental es poder registrar in#ormacin en elservidor (no como 'emos estado 'aciendo 'asta el momentogenerando slo una pgina con los datos cargados)

    Para la registracin de datos en el servidor disponemos de dos

    'erramientas ue se complementan en muc'os casos (arc'ivos detexto y bases de datos)

    %roblema

  • 7/25/2019 Php teoria

    49/75

    n este apartado veremos como crear un arc'ivo de texto y aOadirdatos al mismo!

    o presentaremos al tema resolviendo un problema: -mplementacinde un libro de visitas!

    Para resolver este problema plantearemos dos pginas. un #ormulariopara reali$ar la carga del nombre del visitante y sus comentarios(disponemos un objeto de tipo "text" y otro de tipo "textarea"):

    Problema

    0ngree u nombre:
    Bomentario:

    ste #ormulario es similar a los planteados en problemas anteriores.slo le 'emos agregado al control textarea. las propiedades ro*s ycols ue dimensionan el mismo en la pantalla:

    Ieamos a'ora la pgina (pagina!p'p) ue graba los datos cargados

    en el #ormulario en un arc'ivo:

    Problema

  • 7/25/2019 Php teoria

    50/75

    ,put*(ar3"Tn"+; ,put*(ar3"NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN"+; ,put*(ar3"Tn"+; ,cloe*(ar+; echo "Ao dato e cargaron correctamente";

    ?>

    n primer lugar creamos o abrimos el arc'ivo de texto "datos!txt"! lsegundo parmetro de la #uncin #open indica la #orma de apertura dearc'ivo "a" (lo crea o si ya existe el arc'ivo lo abre para aOadir datosal #inal). "*" (crea el arc'ivo de texto. si existe borra su contenido) yla 5ltima #orma de apertura del arc'ivo es "r" (abre el arc'ivo para sulectura)

    ;omo en este problema nos interesa ue el arc'ivo vaya creciendocon los datos ue aportan los visitantes al sitio lo abrimos paraaOadir. parmetro "a"!

    a #uncin #open retorna una re#erencia al arc'ivo y la almacenamosen una variable llamada Gar!

    2i el arc'ivo no se puede abrir. se ejecuta la instruccin ue seencuentra luego del operador "or" en nuestro caso llamamos a la#uncin die ue #inali$a la ejecucin del programa PHP mostrandocomo mensaje el texto ue le pasamos a dic'a #uncin (por ejemplosi el disco duro del servidor est lleno no se podr crear el arc'ivo detexto)

    (ar),open*"datot=t"3"a"+ or die*"Problema en la creacion"+;

    Para la grabacin de datos utili$amos la #uncin #puts ue tiene dosparmetros: la re#erencia al arc'ivo donde grabamos y el string agrabar!

    ,put*(ar3(JK5L58$[nombre]+; ,put*(ar3"Tn"+;

    Para el salto de l+nea en el arc'ivo de texto. usamos los caracteresCn!Be esta #orma cuando leamos el arc'ivo de texto lo 'aremos l+neaa l+nea!

    ;uando dejamos de trabajar con el arc'ivo llamamos a la #uncin#close!

  • 7/25/2019 Php teoria

    51/75

    Hay ue tener muy presente ue el arc'ivo se almacena en elservidor y no en la mguina de la persona ue est navegando! sdecir. no vaya al explorador de arc'ivos para ver donde se almacen"datos!txt". tenga en cuenta ue est en la muina donde se ejecutel script de PHP! uego veremos como leer el contenido del arc'ivo y

    mostrarlo en otra pgina del sitio (n nuestro caso como utili$amos eleuipo como cliente/servidor el arc'ivo datos!txt se crea en la mismacarpeta donde se alojan nuestras pginas p'p)

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en labarra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

    pagina%!p'p

    pagina!p'p

    %roblema

    @n-rese su nombre.


    Aomentarios.



    %roblema

  • 7/25/2019 Php teoria

    52/75

    Pro*lema propuesto+

    ;on#eccionar un programa en PHP ue permita 'acer el pedido depi$$as via internet!

    l #ormulario debe ser:@ombre:Q!!!!!!!!!!!!!!SBireccion:Q!!!!!!!!!!!!!!!!!!!S

  • 7/25/2019 Php teoria

    53/75

    pagina!p'p

    %ectura de un arc#ivo de te;to+

    Para la lectura de un arc'ivo de texto contamos con la #uncin #gets!1dems debemos abrir el arc'ivo para lectura!

    a apertura para leer:

    (ar),open*"datot=t"3"r"+ or die*"Ro e pudo abrir el archi.o"+;

    Para leer:

    (linea),get*(ar+;

    Ieamos como mostrar por pantalla el contenido del arc'ivo"datos!txt" creado en el punto anterior:

    Problema

  • 7/25/2019 Php teoria

    54/75

    ?>

    o primero ue debemos identi#icar es la #orma de apertura del

    arc'ivo:

    (ar),open*"datot=t"3"r"+ or die*"Ro e pudo abrir el archi.o"+;

    l segundo parmetro de #open es "r" es decir read (apertura paralectura). si el arc'ivo no existe por ejemplo se ejecuta la #uncin dieue #inali$a el programa mostrando el string correspondiente!

    a #uncin #eo# retorna true si se 'a llegado al #inal del arc'ivo en

    caso contrario retorna #alse! Para ue se impriman todas las l+neasdel arc'ivo se plantea una estructura repetitiva ue se ejecutamientras no se llegue al #inal de arc'ivo (el operador lgico not enPHP es el caracter V):

    Ghile *1,eo,*(ar++

    Bentro de la estructura repetitiva leemos una l+nea completa delarc'ivo de texto con la #uncin #gets:

    (linea),get*(ar+;

    a variable Glinea contiene una l+nea completa del arc'ivo de texto.inclusive el salto de l+nea (Cn)

    ;omo el navegador no 'ace un salto de l+nea con este caracter.debemos convertir dic'o caracter al elemento brN propia de HTM!a #uncin ue reali$a esta actividad se llama nlbr (ne* line to br)

    l resultado se almacena en una nueva variable ue es la uerealmente imprimimos:

    (lineaalto)nl%br*(linea+; echo (lineaalto;

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!

    luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en la

  • 7/25/2019 Php teoria

    55/75

    barra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

    pagina%!p'p

    Pro*lema propuesto+

    ;on#eccionar un programa ue muestre el arc'ivo de pedido depi$$as via internet del punto anterior!

    Jecordemos ue creamos el arc'ivo de texto llamado pedidos!txt

    (grabar la pgina p'p en el mismo directorio donde se encuentra elarc'ivo pedidos!txt)

    pagina%!p'p

    ectores !asociativos&

    %roblema

  • 7/25/2019 Php teoria

    56/75

    ste tipo de vectores no es com5n a otros lenguajes. pero en PHP sonde uso indispensable en distintas situaciones (ya lo empleamoscuando recuperamos in#ormacin de un #ormulario accediendo alvector GJ7E2T ue crea PHP en #orma automtica. cuandoaccedamos a datos de una base de datos tambi,n lo emplearemos

    etc!)

    En vector asociativo permite acceder a un elemento del vector pormedio de un sub+ndice de tipo string!

    -nicialmente uno piensa ue esto nos complica las cosas. comoveremos ms adelante la realidad nos demuestra lo contrario!

    ;omo ejemplo. consideremos ue deseamos guardar en un vector elB@-. nombre y direccin de una persona! mpleando un vector con

    sub+ndice entero la solucin ser+a:

    Be esta #orma debemos recordar ue cuando deseamos mostrar elnombre de la persona debemos acceder al sub+ndice %! sto essencillo si tenemos un vector con tres elementos. pero ue sucede sidebemos almacenar F datos relacionados en un vector!

    En vector asociativo se de#ine de la siguiente #orma:

  • 7/25/2019 Php teoria

    57/75

    nombre)>MartineE Pablo3 direccion)>Bolon !7+;echo (regitro[dni];?>

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en labarra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

    pagina%!p'p

    Pro*lema propuesto+

    ;rear un vector asociativo ue almacene las claves de acceso de 4usuarios de un sistema! 1cceder a cada componente por su nombre!-mprimir una componente del vector!

    %roblema

  • 7/25/2019 Php teoria

    58/75

    pagina%!p'p

    8unciones en PHP

    a sintaxis para la de#inicin de una #uncin en PHP es:

    ,unction [nombre de la ,unciCn]*[parmetro]+- [algoritmo]

    -mplementaremos una #uncin ue muestre un titulo centrado enpatalla. y la llamaremos posteriormente dos veces:

    Problema

  • 7/25/2019 Php teoria

    59/75

    Para mostrar el titulo centrado utili$amos el elemento '% de HTM yde#inimos un estilo centrado para el mismo!

    2i vemos la #uncin. notamos ue lo ms trabajoso es de#inir todoslos elementos HTM para crear el titulo! s importante notar ue enPHP para introducir las dobles comillas dentro de un string debemosanteceder el carcter R CRU para introducir el carcter R CR debemosescribir CC!

    as llamadas a la #uncin las 'acemos por medio de su nombre ypasamos el 5nico parmetro ue reuiere:

    motrartitulo*"Primer titulo"+;echo "
    ";motrartitulo*"8egundo egundo"+;

    as #unciones nos permiten tener un programa ms ordenado y#acilitan la reutili$acin del cdigo!

    Ms adelante veremos como 'acer arc'ivos con rutinas comunes amuc'as pginas!

    Ena #uncin puede retornar un dato. supongamos ue necesitamosuna #uncin ue nos retorne el promedio de dos valores. el cdigoser+a:

    Problema

  • 7/25/2019 Php teoria

    60/75

    ;uando una #uncin retorna un dato debemos emplear la palabraclave return seguida del valor ue devuelve!

    n la llamada a la #uncin el valor retornado se almacenageneralmente en una variable:

    (p)retornarpromedio*(.!3(.%+;

    2i ueremos ue retorne ms de un dato debemos emplearparmetros por re#erencia!

    2upongamos ue necesitamos a'ora ue una #uncin nos retorne elcuadrado y cubo de un n5mero:

    Problema

  • 7/25/2019 Php teoria

    61/75

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en labarra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

    pagina%!p'p

    Pro*lema propuesto+

    ;on#eccionar un #ormulario ue solicite la carga del nombre deusuario y su clave en dos oportunidades! n la pgina ue seprocesan los datos del #ormulario implementar una #uncin ueimprima un mensaje si las dos claves ingresadas son distintas!

    %roblema

  • 7/25/2019 Php teoria

    62/75

    pagina!p'p

    >ase de datos !$yQ%&

    Eno de los empleos principales de PHP es el acceso a una base dedatos en el servidor! as operaciones bsicas se 'acen empleandocomo lenguaje el 27!

    PHP implementa distintas #unciones seg5n la base de datos aemplear! xisten #unciones actualmente para acceder a las siguientesservidores de bases de datos:

    & My27& Microso#t 27 2erver& 6racle& Postgre27& 2ysWase& >rontWase& -n#ormix& -nterWase& -ngres

    & m27& dWase& 27lite

    l ms empleado en la actualidad en la *eb es el gestor de base dedatos My27!

    ;uando instal el ?amp2erver en un principio para trabajar con PHP.se instal el My27 (recordemos ue las letras ue #orman el?amp2erver son : ?(?indo*s)1(1pac'e)M(My27)P(PHP)2erver)!

    Para crear una base de datos el ?amp2erver instala tambi,n unprograma codi#icado en PHP ue nos permite interactuar con el

    %roblema

  • 7/25/2019 Php teoria

    63/75

    My27!ste programa se llama PHPMy1dmin (como veremos nos permitecrear las bases de datos. tablas. +ndices. usuarios etc!)

    Para iniciar el PHPMy1dmin debemos presionar el botn i$uierdo del

    mouse sobre el +cono del ?amp2erver ue se encuentra en labandeja del sistema:

    ;omo podemos ver la inter#a$ del PHPMy1dmin es un programa uese ejecuta en la *eb:

  • 7/25/2019 Php teoria

    64/75

    Para crear una base de datos procedemos a seleccionar la pestaOa"Wase de datos" e ingresamos como nombre "base%" y presionamos

    el botn crear:

  • 7/25/2019 Php teoria

    65/75

    uego de crear la base de datos podemos ver ue aparece en el ladoi$uierdo:

  • 7/25/2019 Php teoria

    66/75

    2eleccionamos el nombre nombre de la base de datos "base%" y seactuali$a la inter#a$ de pantalla para ue ingresemos el nombre deuna tabla y la cantidad de campos ue tendr (crearemos una tabla

  • 7/25/2019 Php teoria

    67/75

    llamada alumnos con 3 campos):

    a estructura de la tabla es:

    codigo int autoJincrement primary Oey nombre .archar*4&+ mail .archar*9&+ codigocuro int

    n el PHPMy1dmin ingresamos:

  • 7/25/2019 Php teoria

    68/75

    s importante tambi,n 'acer notar ue en el campo codigo debemosmarcar en -ndice el valor "primary" y tildar la columna 1-:

  • 7/25/2019 Php teoria

    69/75

    Por 5ltimo presionamos el botn guardar y ya tenemos la tabla"alumnos" creada en la base de datos "base%":

    a tabla almacenar datos de alumnos ue desarrollarn cursos de

    programacin en PHP. 12P y

  • 7/25/2019 Php teoria

    70/75

    l cdigo del alumno es de tipo num,rico (int) y al indicar ue esautoincrement se generar automticamente por el gestor de basede datos!os campos nombre y mail son de tipo varc'ar (podemos almacenarcualuier caracter) y por 5ltimo el campo codigocurso representa el

    curso a tomar por el alumno (%PHP. 12P y 0

  • 7/25/2019 Php teoria

    71/75

    #8P

    l #ormulario es bastante similar a los ue venimos desarrollando enpuntos anteriores. tal ve$ lo distinto es cmo emplearemos el control"select" del curso a desarrollar:

    PHPQ8P#8P

    ;ada opcin tiene su respectivo valor (en este caso los n5meros %. y0) y los textos a mostrar PHP. 12P y

  • 7/25/2019 Php teoria

    72/75

    Ieamos los pasos para e#ectuar el alta en la tabla alumnos:

    (cone=ion)myqliJconnect*"localhot"3"root"3""3"bae!"+ or die*"Problema con la cone=iCn"+;

    a #uncin mysliconnect se conecta a una base de datos de tipo

    My2l. el primer parmetro es la direccin donde se encuentra elgestor de base de datos (en este caso en el mismo servidor por loue indicamos esto con "local'ost). el segundo parmetro es elnombre de usuario de la base de datos ("root" en nuestro caso. uees el usuario por de#ecto ue crea My2l para el administrador).seguidamente indicamos la clave del usuario root (por de#ecto alinstalar el ?amp se crea con clave vac+a) y por 5ltimo indicamos elnombre de la base de datos a conectarnos (en nuestro ejemplo yacreamos la base de datos llamada: base% ue tiene la tabla alumnos)

    n caso de 'aber alg5n error en la llamada a la #uncin la mismaretorna #alse por lo ue se ejecuta la instruccin seguida del operadoror. en nuestro caso llamamos a la #uncin die ue detiene la ejecucindel programa y muestra el mensaje por pantalla!

    l paso ms importante es la codi#icacin del comando 27insert(debemos llamar a la #uncin mysliuery pasando comoprimer parmetro la re#erencia a la conexion y el segundo parmetroes un string con el comando insert):

    myqliJquery*(cone=ion3"inert intoalumno*nombre3mail3codigocuro+ .alue*(JK5L58$[nombre]3(JK5L58$[mail]3

    (JK5L58$[codigocuro]+"+ or die*"Problema en el elect"myqliJerror*(cone=ion++;

    a sintaxis del comando insert es bastante sencilla. indicamos elnombre de la tabla y los campos de la tabla a cargar! uego debemosindicar en el mismo orden los valores a cargar en cada campo (dic'osvalores los rescatamos del #ormulario anterior)!

    os campos de tipo varc'ar 27 reuiere ue encerremos entrecomillas simples. esto sucede para el nombre y el mailU en cambio.para el codigocurso esto no debe ser as+!

    6tra cosa a tener en cuenta es ue los sub+ndices de los vectoresasociativos no deben ir entre simples comillas ya ue se encuentrandentro de un string. sino se producir un error!

    n caso ue My2l detecte un error. retorna #alse esta #uncin. por loue se ejecuta la instruccin posterior al or. es decir la #uncin die

    ue mostrar el error generado por My2l llamando a la #uncinmyslierror()!

  • 7/25/2019 Php teoria

    73/75

    Por 5ltimo cerramos la conexin con la base de datos y mostramos unmensaje indicando ue la carga se e#ectu en #orma correcta!

    Tener en cuenta ue el campo cdigo se gener en #orma automtica!

    2i ueremos controlar ue el insert se e#ectu en #orma correctapodemos ingresar al PHPMy1dmin y seleccionar la tabla "alumnos". yen la pestaOa "examinar" podremos ver los datos ingresados desde lapgina ue creamos:

    Pro*lema resuelto+

    ;opiar el contenido de este cuadro de texto al @otePadAA y grabarloen la carpeta c:C*ampC*** con un nombre con extensin p'p (si'ay varios cuadros de texto grabar cada uno en un arc'ivo distinto)!luego abrir el navegador (;'rome. >ire>ox. -xplorer etc!) y en labarra de direcciones tipear: 'ttp://local'ost/pagina%!p'p (o elnombre del arc'ivo ue le di)

  • 7/25/2019 Php teoria

    74/75

    pagina%!p'p

    pagina!p'p

    Pro*lema propuesto+

    ;rear en la base de datos "base%" otra tabla llamada "cursos"!a estructura de esta segunda tabla debe ser: codigo int autoJincrement primeryJOey

    nombrecuro .archar*7&+Etili$ar el PHPMy1dmin para la creacin de esta tabla!-mplementar las dos pginas necesarias para e#ectuar el alta decursos! En #ormulario para ingresar el nombre del curso y otra pginadonde se e#ectuar el insert!

    2olucin

    %roblema

    Plta de Plumnos

    @n-rese nombre.


    @n-rese mail.


    Feleccione el curso.

    %H%

    PF%

    %roblema

  • 7/25/2019 Php teoria

    75/75

    pagina%!p'p

    pagina!p'p

    %roblema

    @n-rese nombre del curso.


    %roblema