You are on page 1of 44

JAMPER91.HOSTEI.

COM

Aprender PHP en un 2x3


Manual del lenguaje PHP
Jorge Andrs Moreno Jaimes

2012

HTTP://JAMPER91.HOSTEI.COM

Contenido
PARA COMENZAR .................................................................................................................................. 4 1. DESCARGAR XAMPP: ............................................................................................................................... 4 2. INSTALAR XAMPP: ................................................................................................................................... 4 3. ARRANCAR XAMPP: ................................................................................................................................. 5 4. ALOJAR UN SITIO WEB: ............................................................................................................................... 6 NUESTRO PRIMER DOCUMENTO EN PHP ............................................................................................... 8 COMENTARIOS EN PHP .......................................................................................................................... 8 VARIABLES ............................................................................................................................................. 9 OPERACIONES ENTRE VARIABLES: ..................................................................................................................... 9 Operaciones aritmticas: .................................................................................................................. 10 Concatenacin de Cadenas: .............................................................................................................. 10 COMO IMPRIMIR EN PHP ..................................................................................................................... 11 IMPRIMIR VARIABLES: .................................................................................................................................. 11 CONDICIONALES Y CICLOS.................................................................................................................... 13 CONDICIONALES: ........................................................................................................................................ 13 CICLOS: .................................................................................................................................................... 14 FUNCIONES EN PHP ............................................................................................................................. 15 COMO LLAMAR A UNA FUNCIN DESDE PHP: .................................................................................................... 16 TRUCOS ............................................................................................................................................... 17 INCRUSTAR CDIGO PHP EN CDIGO HTML ...................................................................................................... 18 VECTORES EN PHP ...................................................................................................................................... 21 Declaracin: ...................................................................................................................................... 21 Almacenar Informacin: ................................................................................................................... 21 Tamao del Vector: ........................................................................................................................... 22 SACAR INFORMACIN DEL VECTOR:................................................................................................................ 22 PHP Y BASE DE DATOS ......................................................................................................................... 23 REQUISITOS ............................................................................................................................................... 24 LA BASE DE DATOS ...................................................................................................................................... 25 1. Abrir PhpMyAdmin: ....................................................................................................................... 25 2. Crear la base de datos:.................................................................................................................. 26 3. Acceder a la Base de datos: .......................................................................................................... 26 4. Crear una tabla en la base de datos: ............................................................................................ 27 5. Crear campos en la tabla: ............................................................................................................. 27 PROYECTO WEB ................................................................................................................................... 29 CONECTAR PHP CON UNA BASE DE DATOS: ...................................................................................................... 30 INSERTAR DATOS EN LA BASE DE DATOS: .......................................................................................................... 32 Mostrar formulario al usuario (Vista): .............................................................................................. 32 Recibir Informacin del Usuario y guardar (Controlador y Modelo): ............................................... 34
Obtener datos del formulario: ..................................................................................................................... 35 Crear cdigo sql para insertar en la base de datos: ..................................................................................... 35 Probando la aplicacin: ................................................................................................................................ 36

Acceder a los datos de una tabla con PhpMyAdmin: ................................................................................... 37

OBTENER DATOS DE UNA BASE DE DATOS ........................................................................................................ 39 Consultar los datos:........................................................................................................................... 40 Procesar la informacin obtenida de la base de datos: .................................................................... 41 Combinacin de cdigo html y php: .................................................................................................. 42 ANEXOS ............................................................................................................................................... 43 1. 2. CDIGO PARA INSERTAR INFORMACIN EN LA BASE DE DATOS. ................................................................... 44 CDIGO PARA INSERTAR Y CONSULTAR INFORMACIN EN LA BASE DE DATOS ................................................. 44

Para Comenzar
Antes de poder empezar a programar en php tenemos que configurar nuestro PC para poder correr nuestras aplicaciones y as probarlas localmente antes de subirlas a un servidor. Para poder realizar esto, necesitamos tener en nuestro PC un servidor Apache (para poder correr nuestras pginas) y un Sistema gestor de base de datos (SGBD), para poder sacarle mximo provecho al lenguaje. Podemos instalar cada servicio por aparte, o podemos descargar un pack que nos facilita la hora al momento de instalar, este pack se llama XAMPP.

1. Descargar XAMPP:
Para eso primero nos bajamos la ltima versin:
Sistema Operativo Linux Windows Link Oficial SourceForge SourceForge Respaldo Skydrive

2. Instalar XAMPP:
Para instalarlo en Windows no hace falta sino darle clic y primero seleccionamos la ruta donde deseamos que se instale (dejamos la que nos da por default). Escogemos los servicios que deseamos instalar, en este caso Apache y Mysql. Le damos clic en instalar

3. Arrancar XAMPP:
Despus de haber instalado correctamente nos aparecer una pantalla como esta:

Donde veremos que tanto el servidor de apache como Mysql estn corriendo sin ninguna problema. Para probar que todo est bien, abrimos nuestro navegador favorito y tecleamos la siguiente direccin: http://localhost Y nos deber aparecer esto:

Desde esta pgina podremos acceder a Mysql, ver la configuracin de php y otras cosas, pero por el momento solos nos interesa saber que se puedan visualizar pginas web.

4. Alojar un sitio web:


Ya que nuestro servidor est listo, podemos empezar a montar nuestras pginas web para poderlas probar, pero donde se alojan las pginas web? Si recuerdas un paso de la instalacin, donde colocbamos el directorio donde seria guardada la aplicacin, hay un directorio que se llama C://xampp Dentro de ese directorio hay muchas carpetas, pero la que nos interesa es htdocs

Entonces para poder alojar un sitio en nuestra PC debemos acceder a esa carpeta y crear una nueva con el nombre de nuestro sitio, ejemplos C://xampp/htdocs/MiPrimerSitio/ Y dentro de esa carpeta podrs colocar todos lo que necesitas para poder probar tu pgina, como imgenes, js, css, etc. Por ejemplo puedes crear un documento de html, para eso das clic derecho y nuevo documento de texto, luego le cambias el nombre para que se llame index.html(debes tener visible la extensin para que no se llame index.html.txt), luego para poder editarlo, le das clic derecho, abrir con block de notas y copias el siguiente cdigo: <html> <head> <title>Mi primera pagina</title> </head> <body> <h2>Bienvenidos</h2> </body> </html>

En total la estructura debera ser la siguiente:

Ahora abrimos nuestro navegador y tecleamos la siguiente http://localhost/MiPrimerSitio/index.html y nos aparecer esto:

direccin:

Eso es todo, ahora procederemos a introducirnos en Php

Nuestro primer Documento en Php


Para poder ejecutar y escribir un cdigo en php necesitamos un archivo con extensin .php, por ejemplo: primera.php Pero eso no es suficiente, para poder colocar cdigo php dentro de las pginas tenemos que escribirlo dentro de las etiquetas: <?php ?>

Comentarios en Php
Despus de saber cmo ingresar cdigo en un documento php, ahora veamos cmo podremos documentarlo, para poder guiarnos cuando estemos actualizando un cdigo. Existes dos tipos de comentarios: De una sola lnea: Se encarga de comentar una sola lnea, para poder usarlo nicamente colocamos al principio de la lnea //. De varias lneas: Comentas varias lneas, para usarlo encerramos el texto deseado ente /* */. <?php //Esta variable se encarga de guardar el ano actual $ano=2012; /*Esta variable se encarga de guarda la informacin de todas las direcciones ip desde las cuales se puede acceder a la aplicacin */ $dirIp="172.29.80.80"; ?>

Variables
La declaracin de variables en php es realmente sencillo, no tenemos que declara el tipo de variable solo tenemos que hacer dos pasos: 1. Escribir el smbolo $ 2. Seguido escribiremos el nombre de la variable: $Mivariable 3. Opcional: Le damos un valor a la variable: $Mivariable=hola $Mivariable=3 4. Por ltimo y no menos importante escribir el punto y coma ;. $Mivariable=hola; $Mivariable=3; Si deseas insertar un texto que contenga comillas dobles, debes declarar la variable con comillas simples o viceversa, ejemplo: $var=puedo tener comillas simples; $var=puedo tener comilas dobles; <?php /* Cabe recordar que aun no estamos imprimiendo, pues esa seccin se vera mas adelante */ $var="Hola a todos esta es una variable string"; $i=0; ?>

Operaciones entre variables:


Como en otros lenguajes, las variables pueden realizar operaciones entre ellas, como operaciones bsicas (sumar, resta, etc) o operaciones entre cadenas (unir).

Operaciones aritmticas:

Para realizar operaciones aritmticas entre variables numricas solo basta unir las variables por el operador deseado. <?php $var1=3; $var2=5; $suma=$var1+$var2; ?>

Concatenacin de Cadenas:

Para unir cadenas nos basamos en el operador .. Es realmente unir cadenas, pues tambin se pueden unir cadenas con variables, con nmeros, etc. <?php $var="Esta es una cadenas que se unira"; $var2="a esta otra cadena que tambin puede tener un numero como este: "; $var3=4; $union=$var.$var2.$var3;?>

Como imprimir en Php

Despus de saber lo bsico sobre como comenzar, podemos empezar a usar las sentencias para poder visualizar informacin en php, la sentencia ms utilizada es echo que no permite imprimir cualquier tipo de datos ya sea texto, numero, etc. Para poder imprimir seguiremos los siguientes pasos: 1. Escribimos la sentencia echo: echo 2. Abrimos y cerramos comillas (simples o dobles): echo echo 3. Ultimo pero no menos importante ; echo ; echo ; Si deseas imprimir varias cosas en un mismo echo, puedes unirlos con el punto ., as podrs imprimir texto mesclado con variables, ejemplo: echo Hola a todos, mire el resultado de la suma: .$suma;

<?php echo 'Hola a todos como podrn ver estoy imprimiendo por primera vez'; ?>

Imprimir variables:
Para poder imprimir variables en php tambin nos basamos en la sentencia echo realizando lo siguiente: 1. Escribimos la sentencia: echo 2. escribimos la variables y escribimos punto y coma: echo $var;

<?php $ano=2012; echo 'Hola a todos, estamos en el ao: '.$ano; ?>

Condicionales y Ciclos
En lo que respecta a la sintaxis de los condicionales (sentencias if y switch) y a los ciclos (sentencias for, while, do while) es la misma que en los lenguajes C,C++ y Java.

Condicionales:
<?php /* Uso del IF y del Switch en Php */ $var=2; if($var!=3){ echo 'Esta variable no es el numero tres'; }else{ echo 'Esta variable contiene el numero 3'; } switch($var){ case 0: echo 'Es el numero Cero'; break; case 2: echo 'Contiene el numero Dos'; break; default: echo 'Contiene un nmero mayor a 2, o menor que 0'; break; } ?>

Ciclos:
<?php /*Ejemplo de cmo usar un ciclo FOR y While */ for($i=0;i<5;i++) { echo $i; } $i=0; //Repita mientras i sea menor de 5 while($i<5) { echo $i; /*Tenemos que aumentar el valor del contador dentro del ciclo si no este quedara en un bucle infinito */ $i++; } ?>

Funciones en Php
Para poder declarar funciones en php solamente necesitamos escribir la palabra reservada y el nombre de la funcin, si la funcin necesita parmetros, al momento de declarar tambin debemos declarar estos (los parmetros). Podemos colocar tantas funciones queramos dentro de un archivo de php y a su vez tener cdigo que no est dentro de alguna funcin. Para mayor comodidad yo recomiendo que tengan un solo archivo con varias funciones y luego incluyan ese archivo desde otro y solamente llamen a las funciones que necesiten. Para declarar una funcin seguimos los siguientes pasos: 1. Escribir la palabra reservada: function 2. Escribir el nombre de la funcin y abrir y cerrar parntesis: function primera() 3. Abrimos y cerramos las llaves: function primera(){ } Para poder acceder a las funciones de un archivo de php desde otro, simplemente agregamos al inicio la funcin include, con el nombre del archivo que necesitamos como parmetro, ejemplo: include(funciones.php); Cabe aclara que el archivo funciones.php debe estar en la misma carpeta del archivo que lo llama, sino puedes escribir la ruta completa del archivo

Si la funcin que van a crear necesita recibir informacin, la aadimos dentro de los parntesis, separando cada parmetro con una coma ,". Y si tambin deseamos que retornar algn valor, solamente aadimos return seguido por el valor a retornar <?php function sumar($a,$b){ $suma=$a+$b; echo 'El resultado de la suma es: '.$suma; return $suma; } ?>

Como llamar a una funcin desde php:


Ya sabemos cmo se declaran las funciones, pero ahora es momento de utilizarlas, para eso solamente debemos escribir el nombre de la funcin y mandarle los parmetros necesarios (si ese fuera el caso) <?php /* Funcin que se encarga de sumar los 2 datos que recibe como parmetros*/ function sumar($a,$b) { $suma=$a+$b; return $suma; }

echo 'Vamos a sumar 3+5, cuyo resultado es: '.sumar(3,5); $n1=8; $n2=2; echo '</br>Tambin podemos mandar variables a la funcin como estas: n1='.$n1.' n2='.$n2.' cuyo resultado es: '.sumar($n1,$n2);

?>

TRUCOS

Incrustar Cdigo php en cdigo html


Antes de comenzar les quiero dar unas ideas. Primero que todo el lenguaje Php es un lenguaje del lado Servidor, es decir que se ejecutara en la maquina servidor y no el el PC del cliente, no es un lenguaje muy diferente de C/C++ o Java con la nica diferencia de que si desea obtener informacin, pedir datos, es decir relacionarte con el cliente lo tienes que hacer mediante html. Por eso todo proyecto de Php va mesclado con un poco de html, para poder interactuar. En este manual primero les dar una introduccin sobre como programar en Php, las sentencias bsicas, funciones y de ms, pero dejare un poco aparte lo correspondiente a html. Ese tema lo dar por entendido. Al momento de llegar hasta aqu ya saben: Declarar y manipular variables. Declara y usar Funciones. Imprimir variables.

Pero todos sabemos que esto no nos servir de mucho si no se le pide informacin al cliente, para eso en este apartado podremos ver como mesclar cdigos php y html, es decir, incrustar cdigo php dentro una pgina html. Aqu hay un ejemplo de cmo combinar cdigo html y php, se combinan para crear una tabla: el cdigo lo pueden descargar aqu: Numero Impares hasta 10 <html> <head> <title>Combinando php y html</title> </head> <body> <h2> Numeros impares hasta 10 </h2> <p>Uno en cada linea</br> </p> <p> <?php /*Para hallar los numeros primos solo basta sabes si su residuo es diferente de 0 al dividirlo entre 2 */ /*Esta funcion se encarga de saber si un numero se impar, si es impar retornara un true*/

function esImpar($num) { if($num%2!=0) { return true; }else{ return false; } } for($i=1;$i<=10;$i++) { if(esImpar($i)==true) { //Esto me permitira imprimir los numero, uno en cada linea echo $i.' </br>'; } } ?> </p> <p>O en una tabla:</p> <table width="200" border="1"> <tr> <td>Numero</td> <td>Si</td> <td>No</td> </tr> <?php for($i=1;$i<=10;$i++) { ?> <tr> <td> <?php echo $i;?> </td> <td>

<?php if(esImpar($i)==true) { ?> x <?php } ?> </td> <td> <?php if(esImpar($i)==false){ ?> x <?php } ?> </td> </tr> <?php } ?> </table> <p>&nbsp;</p> </body> </html>

Vectores en Php
Los vectores son una parte importante en la programacin, ya que nos permite mantener informacin que est relacionada en una misma variable, pero esta variable puede contener dentro de ella muchas ms informacin. Declaracin: La declaracin es muy sencilla, solo basta con: 1. Colocar el smbolo $ seguido del nombre: $miV. 2. Colocar = vector() despus de lo anterior: $miV= array(). 3. Ultimo pero no menos importante ;. <?php $VectorconEtiquetas = array(); ?> Almacenar Informacin: 1. Escribimos el nombre de la variable: $miV. 2. Escribimos el lugar donde se guardara la informacin entre corchetes: $miV[0]; 3. Escribimos la informacin despus del signo =: $miV*0+=Hola; 4. Ultimo pero no menos importante ;. <?php $VectorconEtiquetas[0]="Vectores"; $VectorconEtiquetas[1]="Matrices"; $VectorconEtiquetas[2]="Funciones"; $VectorconEtiquetas[3]="Condicionales"; $VectorconEtiquetas[4]="IntegrfazGrafica"; $VectorconEtiquetas[5]="Ciclos"; $VectorconEtiquetas[6]="Struct"; $VectorconEtiquetas[7]="Listas"; $VectorconEtiquetas[8]="Arboles"; $VectorconEtiquetas[9]="Grafos"; ?>

Tamao del Vector: Para obtener el tamao de un vector usando una funcin propia de php <?php $tam=sizeof($vectorEtiquetas); echo 'El tamao del vector Etiquetas es: '.$tam; ?>

Sacar Informacin del Vector:


Para obtener los datos que se encuentran en el vector for($j=0;$j<sizeof($vectorEtiquetas);$j++) { if($vectorEtiquetas[$j]==$eti) $puede="si"; }

PHP Y BASE DE DATOS

Requisitos
Al principio de este manual, se explico cmo instalar el paquete XAMPP, que trae incorporado Mysql. Como ser obvio, en esta seccin miraremos como podemos conectar nuestros proyectos de php con el sistema gestor de base de datos de Mysql.

Tambin veremos cmo podremos insertar, actualizar y eliminar registros de una base de datos usando funciones. Como el objetivo de esta manual, es ser siempre sencillo, haremos todo lo anterior sin el uso de frameworks, pero ms adelante los introducir en el uso de estos, ya que traen excelente beneficios e implementan el modelo vista controlador de una manera muy sencilla.

La base de datos
Para poder comenzar nuestro curso, debemos tener una base de datos ya creada, para poder realizar las operaciones que deseemos (como insertar, borrar o actualizar). 1. Abrir PhpMyAdmin: Para los que no lo sepan PhpMyAdmin es una herramienta que nos permite administrar nuestras bases de datos de Mysql, nos permite entre otras cosas: Crear tablas. Crear bases de datos. Aadir registros.

Para poder acceder a l, abrimos XAMPP y damos clic en admin frente a Mysql:

Y accederemos a la pgina de login de PhpMyAdmin: Por default al momento de instalar XAMPP el usuario principal es root y la clave es vacio: . Si tienes problemas para acceder puedes leer esta documentacin para saber cmo cambiarla: Cambiar clave para acceder a PhpMyAdmin

Si todo est bien les aparecer algo como esto:

2. Crear la base de datos:

Para poder una nueva base de datos damos clic en el botn Bases de datos (se encuentra resaltado en la imagen anterior), digitamos el nombre y damos clic en Crear

3. Acceder a la Base de datos:

Para acceder a la base de datos (si se ha creado sin problemas) en la zona izquierda veremos el nombre de la nueva base de datos creada, damos clic en ella para poder acceder

4. Crear una tabla en la base de datos:

Despus de acceder a la base de datos aparecer un formulario para crear una nueva tabla, para eso digitamos el nombre y el nmero de campos que tiene la tabla.

Para saber cuntos campos (o columnas) tiene una tabla es realmente sencillo, digamos que vamos a crear la tabla persona, a quienes tenemos que registrar la siguiente informacin: nombre, identificacin, correo, edad. En forma de tabla se vera de la siguiente manera: Si te fijas el nmero de campos sern 4. Es decir en nombre escribiremos persona y en nmero de columnas: 4 y damos clic en Continuar.
Persona Nombre Identificacin Correo edad Tipo varchar Int varchar int

5. Crear campos en la tabla:

Despus de crear la tabla nos aparecer algo como en la imagen, donde existirn tantas filas, como numero de columnas hayamos indicado, encada fila tocara llenar la siguiente informacin:
Columna Nombre del campo Tipo Tipo de dato Longitud Longitud mxima que se guardara Predeterminado Si deseas puedes colocar un valor por default en caso de que no se ingrese nada Nulo Determina si este campo es obligatorio ndice Se escoge una de las 4 opciones A_I Indica si el valor incrementara automticamente

Las columnas que oscurec no son importantes en este manual. Si todo est bien entendido, debern llenar los campos con la siguiente informacin:
Columna nombre identificacin correo edad Tipo varchar int varchar int Longitud 50 12 50 3 Predeterminado Nulo Ninguno Ninguno no tiene Si Ninguno Indice --Primary Unique A_I

Y luego dar clic en el botn Guardar, que se encuentra en la parte de debajo de la ventana que aparecio Explicacin: Si se fijan, la columna predeterminado solamente se usar, si se selecciona la columna Nulo, pues si la columna nulo no es seleccionada (no se le da clic) al intentar agregar un registro si ese valor, no podr registrarse, ejemplo: Digamos que deseas registrar la siguiente informacin: Nombre: Juan Identificacin: correo:1@gm.com edad:12

No se podr ingresar debido a que no hay informacin relacionada con la identificacin, y como vern en la tabla se indica que el id no puede ser nulo La longitud de las columnas hacen referencia a que tanta informacin se guardara, por ejemplo con datos del tipo varchar se guardara informacin de hasta mximo 50 caracteres. Con datos el tipo int se guardar numero de mximo 12 digitos (es decir entre 0 y 999.999.999.999) y haci con le resto de campo Con el campo correo se activo la casilla de predeterminado con no tiene, pues encaso de que no se registre esa informacin, la bd la llenara automticamente con la palabra no tiene Los ndices: En casi todas las tablas es imprescindible que algn campo tenga ndice Primay, es decir que no se puede repetir, aquel ndice con el cual podamos buscarlo entre la base de datos, nosotros escogimos la Identificacin, pues si se trata de un pas la identificacin seria el numero de la cedula de ciudadana, cosa que no se puede repetir, pero podra ser otro, como el correo electrnico, pero nunca la edad (pues muchas personas tienen la misma edad). Si no tienes un campo para colocar como Primary, te recomiendo que agregues una columna cuyo nombre sea id del tipo int y que autoincremente

Proyecto Web
Luego que ya logramos instalar y configurar lo necesario, y de haber ledo lo ms bsico de php estamos listos para crear nuestro proyecto web que nos permita interactuar nuestras pginas web con nuestras bases de datos. Este proyecto web tratara acerca de una pgina que se encargara de mostrar un formulario para que las personas puedan registrarte y queden almacenados en la base de datos. Tambin nos permitir listar los ltimos usuarios registrados, y nos mostrara una seccin donde podremos eliminar aquellos usuarios que no deseemos. Todo esto lo haremos sin el uso de sesiones pues este ser un tema que explicare ms adelante. Para comenzar debemos crear un sitio web (con XAMP, si no sabes cmo puedes ir aqu) llamado prueba. En la carpeta raz debemos crear un documento llamado index.php Dentro de la carpeta raz debemos crear otra carpeta llamada php. El esquema quedara as:

Conectar PHP con una base de datos:


Para poder conectar nuestros proyectos correctamente podemos crear una clase cuyo nombre ser conectar.php y que se encargara de suministrarnos la conexin a nuestra base de datos, esta clase la crearemos dentro de la carpeta php. Algo as: prueba/php/conectar.php Luego de eso simplemente copiamos lo siguiente dentro de la clase y configuramos los parmetros de: host, user, pass y db. Para evitar errores, al final del curso colocare un link con todo el cdigo fuente, lo podrn descargar y editar adentro. (Ir a Anexos)
<?php $connect; //Lugar donde se encuentra nuestra base de datos $host="localhost"; //Su nombre de usuario de la base de datos $user="root"; //Contrasena $pass=""; //Nombre de la base de datos $db="prueba"; /*Se encarga de conectarnos con Mysql, pero ante cualquier problema n ostraremos el mensaje*/ $connect=mysql_connect($host,$user,$pass) or die ("La Base de datos esta inaccesible en estos momentos"); /*Pero como sabran Mysql puede tener muchas bases de datos, aqui nos escargamos de deciles a cual nos conectaremos*/ mysql_select_db($db, connect); /*Esta funcion se encargara de devolvernos una conexion a la base de datos */ function con() { global $connect; return $connect; } /* Esta funcion nos proporciona el nombre de la base de datos */ function dbname() { global $db; return $db; } /*Esta funcion nos proporciona la contrasea de nuestro usuario*/ function pass() { global $pass; return $pass; } /*Esta funcion nos permitira ejecutar una consulta en la base de dato s, necesitando unicamente el codigo sql que

contiene dicha consulta, y nos retornara el resultado de dicha consul ta*/ function consultar($sql) { $result=mysql_query($sql,con()) or die ($sql .mysql_error().""); return $result; } ?>

Luego de haber copiado todo esto guardamos el documento.

Insertar datos en la base de datos:


Para poder insertar informacin en la base de datos debemos mostrarle un formulario al usuario para que el llene toda la informacin necesaria, y luego cuando el usuario envi el formulario nosotros nos encargaremos de analizar la informacin para saber si es correcta y registrarla, pero en caso de que encontremos errores le notificaremos al usuario. Mostrar formulario al usuario (Vista):

Aqu nos encargaremos de disear el formulario y configurarlo para que vaya a la pgina que deseemos, esa pgina a la cual ir, ser la encargada de procesar la informacin y registrar en la base de datos. La pgina que se encargara de mostrar el formulario ser: formulario.php. Quedara algo as: prueba/formulario.php No tiene nada del otro mundo, pues en si ser puro cdigo html, puede crear la pagina con bloc de notas, notepad++ o dreamweaver, para mayor comodidad les anexare el cdigo de una pgina simple con un formulario. Lo que se debe destacar el es nombre de los cuadros de texto, deben recordar esos nombre ya que con esos es que podremos acceder a la informacin.
1. <html> 2. <head> 3. <style type="text/css"> 4. <!-5. .Estilo1 {font-family: Verdana, Arial, Helvetica, sans-serif} 6. --> 7. </style> 8. </head> 9. <body> 10. 11. <form action="php/registrar.php" method="post" name="registrar"> 12. <table width="100%" border="1"> 13. <tr> 14. <th colspan="2" scope="row"><span class="Estilo1">Pagina de Regist ro</span></th> 15. </tr> 16. <tr> 17. <th width="25%" scope="row"><span class="Estilo1">Nombre</span></t h> 18. <td width="75%"><label> 19. <input type="text" name="nombre" id="nombre" /> 20. </label></td> 21. </tr>

22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.

<tr> <th scope="row"><span class="Estilo1">Identificacion</span></th> <td><label> <input type="text" name="id" id="id" /> </label></td> </tr> <tr> <th scope="row"><span class="Estilo1">Correo</span></th> <td><label> <input type="text" name="email" id="email" /> </label></td> </tr> <tr> <th scope="row"><span class="Estilo1">Edad</span></th> <td><label> <input type="text" name="edad" id="edad" /> </label></td> </tr> <tr> <th colspan="2" scope="row"><label> <input type="submit" name="Enviar" id="Enviar" value="Enviar" />

43. </label></th> 44. </tr> 45. </table> 46. </form> 47. </body> 48. </html>

Les creare una tabla para que puedan ver como se llama el cuadro de texto que alojara la informacin del campo deseado.
Campo nombre identificacion correo edad Nombre del Cuadro de Texto nombre id email edad

Recibir Informacin del Usuario y guardar (Controlador y Modelo):

Luego de haber diseado el formulario notara una propiedad especial del formulario
1. <form action="php/registrar.php" method="post" name="registrar">

El action es en la cual colocamos la direccin donde se encuentra la clase encargada de procesar la informacin, y el method escogido es post (tambin existe el get, para saber la diferencias puedes consultar un manual de html). Como vern, en el action hace referencia a una clase que no existe, como lo es registrar.php dentro de la clase php. Pero para eso es esta seccin, para crear la clase: registrar.php en la carpeta php, quedara algo asi: prueba/php/registrar.php
1. <?php 2. /* Aqui nos encargamos de incluir el archivo de conectar.php para pode r acceder a todas sus funciones */ 3. include('conectar.php'); 4. 5. /* 6. Aqui nos encargamos de obtener la informacion enviada desde la pag ina formulario.php por el formulario 7. Para poder obtener los datos enviados desde el formulario usamos l a variable $_POST['nombre'], donde 8. nombre es el nombre del cuadro de texto del formulario 9. */ 10. $nom=$_POST['nombre']; 11. $id=$_POST['id']; 12. $email=$_POST['email']; 13. $edad=$_POST['edad']; 14. 15. /* 16. Luego de obtener la informacion debemos generar el codigo sql que se encarge de insertar en la bd 17. como sabran para registrar informacion varchar debemos enviar con comillas 18. */ 19. 20. $sql='insert into persona (nombre,identificacion,correo,edad) values ( "'.$nom.'",'.$id.',"'.$email.'",'.$edad.')'; 21. 22. /* 23. Ahora ejecutamos el codigo sql,para eso llamamos la funcion que cr eamos en la clase conectar.php, sila funcion 24. nos retorna un false, es porque ocurrio algun tipo de error 25. */ 26. $resul=consultar($sql); 27. if($resul==true) 28. {

29.

echo 'Felicitaciones, se a registrado la persona exitosamente, puedes ingresar otro <a href="../formulario.php">Aqui</a>'; 30. }else{ 31. echo 'A ocurrido un error mientras se guardaba a la persona, l es pedimos disculpas puede ser que la persona ya exista, </br> 32. o dejaste algun campo vacio, puedes volver a intentarl o <a href="../formulario.php">Aqui</a>'; 33. } 34. ?>

Obtener datos del formulario: Para poder obtener la informacin enviada desde la pgina formulario.php por el formulario debemos usar la variable $_POST. Para poder obtener los usamos la variable $_POST['nombre'], donde nombre es el nombre del cuadro de texto del formulario.
1. 2. 3. 4. $nom=$_POST['nombre']; $id=$_POST['id']; $email=$_POST['email']; $edad=$_POST['edad'];

Crear cdigo sql para insertar en la base de datos: Pero aqu no termina todo, luego de obtener los datos debemos recurrir a nuestros conocimientos de sql para poder insertar en la base de datos, les recuerdo que para insertar en una base de datos seguimos el siguiente esquema:
1. insert into tabla (campo1, campo2) values (valor1, valor2)

Donde:
Parmetro tabla campo x valor x Descripcin Nombre de la tabla donde se registraran los datos Nombre del campo que deseas llenar Informacion que se registrara en la tabla del campo x

En nuestro caso el nombre de la tabla es persona (que se cre anteriormente, sino sabes puedes verlo aqu). Campo1, campo2 hace referencia a los campos (o columnas) que se encuentran en la tabla que queremos llenar (los campos se crearon con anterioridad para ver como se realizo puedes verlo aqu) Valor1, valor2 hace referencia a la informacin que se enva desde el formulario, es decir la que obtuvimos del formulario.

Aqu el cdigo:
1. $sql='insert into persona (nombre,identificacion,correo,edad) values ( "'.$nom.'",'.$id.',"'.$email.'",'.$edad.')'

Como podrn ver en la sesin de values se empieza a mezclar con los parmetros recibidos. Para poder insertar un texto en una tabla debemos enviarlos con comillas simples o dobles, algo as:
1. insert into tabla (nombre) value ("Jamper91")

Pero como nosotros no vamos a ingresar siempre el mismo texto debemos colocar en vez de Jamper91 el nombre de la variable que contiene la informacin, para eso usamos el ., para combinar texto y variables:
1. $sql='insert into tabla (nombre) value ('.$nom.)'

Pero como notaran si lo dejamos tal como est nos quedara algo as
2. insert into tabla (nombre) value (Jamper91)

Para corregir esto debemos agregar las comillas dobles antes y despus de la variable as:
1. $sql='insert into tabla (nombre) value ("'.$nom.'")'

Y eso es todo, luego lo nico que nos falta es ejecutarlo, para eso lo hacemos ejecutando una accin realizada con anterioridad aqu.

Probando la aplicacin:

Ahora viene uno de los pasos ms importantes probar nuestra aplicacin, para esto, si todo a salido bien entrar en un navegador y tecle la siguiente direccin: http://localhost/prueba/formulario.php

Y nos aparecer algo as:

Llenamos con la informacin que deseamos y damos clic en enviar y nos mostrara esto:

Acceder a los datos de una tabla con PhpMyAdmin:

Para corroborar que la informacin se registr en la base de datos accedemos a ella (como acceder a una base de datos) y luego damos clic en examinar frente a la tabla deseada (en este caso persona).

Y aqu estn los registros:

Obtener Datos de una base de datos


Muchas veces (si no es que siempre) vamos a tener que mostrar informacin que se encuentra almacenada en nuestra base de datos, ya sea para procesarla o simplemente para mostrarla. En este apartado nos encargaremos de obtener informacin de la base de datos sobre las personas registradas y nos encargaremos de mezclar el cdigo html y php para que pueda ser mostrada de una forma agradable en una tabla. Para seguir en el proyecto vamos a crear una pgina que se llamara: listar.php. Que se encargara de obtener la informacin de la base de datos y combinarla con html para poderla visualizar. Quedara algo as: prueba/listar.php Dentro de este archivo colocaremos la siguiente informacin:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. <html> <head> <title>Lista de Personas</title> <style type="text/css"> </style> </head> <body> <?php include('php/conectar.php'); function personas() { $sql="select * from persona"; $resultado=consultar($sql); return $resultado; } ?> <table width="100%" border="1"> <tr> <th colspan="4" scope="col"><span class="Estilo2">Listado de Personas</span></ th> </tr> <!-- Esto es puro codigo html, es para que se vea bien --> <tr> <td bgcolor="#000000"><span class="Estilo3">Identificacion</span></td> <td bgcolor="#000000"><span class="Estilo3">Nombre</span></td> <td bgcolor="#000000"><span class="Estilo3">Correo</span></td> <td bgcolor="#000000"><span class="Estilo3">Edad</span></td> </tr> <?php

/*Obtenemos a todas las personas de la base de datos */ $personas=personas(); while ($row = mysql_fetch_assoc($personas)) {

39. 40.

?> <!-Se encuentra dentro del ciclo, por eso por regara una fila --> <tr> <td><span class="Estilo2"><?php /td> <td><span class="Estilo2"><?php <td><span class="Estilo2"><?php <td><span class="Estilo2"><?php </tr> <?php } cada vez que el ciclo se repita, se ag

41. 42.

echo $row['identificacion'];?></span>< echo $row['nombre'];?></span></td> echo $row['correo'];?></span></td> echo $row['edad'];?></span></td>

43. 44. 45. 46. 47. 48. 49. 50. ?> 51. </table> 52. </body> 53. </html>

Consultar los datos: Incluimos la clase que nos permite conectarnos a la base de datos, y la que contiene la funcin que nos permitir consultar.
54. include('php/conectar.php');

Adems de eso nos vamos a encargar de crear una funcin que nos devuelva todas las personas en la base de datos. Para eso debemos basarnos en sql, pues crearemos una consulta para obtener la informacin. Esa consulta se la pasamos a la funcin consultar (que se encuentra en el archivo conectar.php) y ella no retornara todas las personas, luego nos nosotros nos encargaremos de pasar una por una a las personas.
1. 2. 3. 4. 5. 6. function personas() { $sql="select * from persona"; $resultado=consultar($sql); return $resultado; }

El cdigo sql es muy sencillo: Para realizar consultar con sql debemos:
1. select campo1,campo2 from tabla

Donde campo1, campo2 hace referencia a los campos de la tabla que deseemos consultar, pero si debemos consultarlos todos, solamente escribiremos *. Pero luego de eso debemos indicarle la tabla a la cual deseamos consultar, en nuestro caso la tabla persona (si no sabes cmo crear la tabla persona, puedes verlo aqu).

Procesar la informacin obtenida de la base de datos:

Como sabrn en html una fila (de una tabla) se representa por <tr>... </tr> todo lo que se encuentre dentro de esas etiquetas pertenece a una fila y para crear columnas se hace con <td>... </td>. Recuerden que una fila puede tener tantas columnas deseen, en este caso va a tener 4.
Identificacin persona1 persona2 Nombre persona1 persona2 Correo persona1 persona2 Edad persona1 persona2

Si no fijamos cada una de las personas que se encuentren en la base de datos representa una fila, por eso por cada persona encontrada debemos crear una fila, para eso recurrimos a un ciclo. Para eso, primero debemos obtener la informacin de la base de datos llamando a la funcin correspondiente:
55. 56. /*Obtenemos a todas las personas de la base de datos */ $personas=personas();

Como vern la informacin de TODAS las personas quedo almacenada en $personas. Pero esto no es suficiente, ya que en $personas estn la informacin de todos, tengo que procesar $personas para poder tener la informacin de cada individuo, para eso recurro a un ciclo. En este caso tenemos a mysql_fetch_assoc, que nos permite tener una personas de entre todas, y cada vez que el ciclo termine el nos devolver la persona siguiente, hasta que no quede nadie ms. La persona que nos devuelve queda almacenada en $row. Para acceder a la informacin de esa persona, escribimos el nombre del campo como en un vector $row["campo"], algo as:
1. $row['identificacion'];

Combinacin de cdigo html y php:


1. <?php 2. 3. while ($row = mysql_fetch_assoc($personas)) 4. { 5. ?> 6. <!-Se encuentra dentro del ciclo, por eso por cada vez que el ciclo se repita, s e agregara una fila --> 7. <tr> 8. <td><span class="Estilo2"><?php echo $row['identificacion'];?></sp an></td> 9. <td><span class="Estilo2"><?php echo $row['nombre'];?></span></td> 10. 11. 12. 13. 14. 15. 16. <td><span class="Estilo2"><?php echo $row['correo'];?></span></td> <td><span class="Estilo2"><?php echo $row['edad'];?></span></td> </tr> <?php } ?>

Para poder imprimir tantas filas, como personas hay en la base de datos, tenemos que hacerlo con un ciclo, para eso podemos colocar el cdigo html que deseamos repetir dentro del ciclo deseado, en este caso lo colocamos dentro del ciclo while Y como vern tras haber colocado el cdigo html dentro del ciclo, tambin colocamos cdigo php (las sentencias echo que nos permiten imprimir informacin) para mostrar la informacin de la persona. Y eso es todo, para corroborar el cdigo http://localhost/prueba/listar.php y vern algo como esto pueden acceder a:

ANEXOS

1. Cdigo para insertar informacin en la base de datos.


Descargar

2. Cdigo para insertar y consultar informacin en la base de datos


Descargar

You might also like