Professional Documents
Culture Documents
2 septiembre 2010 7 comentarios Desde hace ya tiempo tenia ganas de exponer algo sobre PHP pero hasta hoy me di a la tarea de invertir algo de tiempo en hacerlo. Y es que muchos dicen que ya PHP esta cayendo en desuso y otros que esta todavia muy fuerte, que esto y que el otro, la verdad es que no e investigado estadisticas para dar mi propia opinion. Pero creo que es un buen lenguaje web y cualquier estudiante de sistemas deberia tener a la mano algun apunte aunque sea algo basico, por eso me decidi a exponer algo. En este ejemplo doy por hecho que ya tienes un servidor Apache correctamente instalado y configurado para cargar como modulo al PHP, sino sabes que es eso o todavia no lo tienes pues seria bueno irte ahora mismo a otro sitio y leer algo previo, por que sino no vas a entender mucho. El ejemplo es muy sencillo; simplemente se realiza una insercion (INSERT) en una tabla que se llama usuarios, la tabla usuarios solamente tiene 3 campos y esta dentro de una Base de datos (BD) que lleva por nombre prueba. Aca el comando SQL para crear la BD prueba y la tabla usuarios:
1 create database prueba; create table usuarios(nick char(60) not null, pw char(40), correo 2 char(255), primary key(nick));
Aca una imagen muestra en forma grafica el aspecto de la tabla ( creada con el workbench ):
El ejemplo consta de tres archivos de codigo fuente; los cuales se describen a continuacion: formularioAlta.html Este archivo genera un formulario con tres campos de texto donde el usuario ingresara los datos que desea insertar en la tabla usuarios, una vez que el usuario a escrito los datos debe dar click en el boton Dar de alta! el cual es un boton submit que manda a llamar al archivo guardarAlta.php , dicho archivo es el que realmente guarda los datos en la tabla. Aca el codigo fuente:
01 <!-02
Descripcion: Archivo fuente HTML que crea un formulario para 03 capturar datos que seran enviados a un archivo .php para insertarlos en una 04 BD de MySQL. 05 Author: 06 Fecha: 07 Archivo: 08 --> 09 <HTML> 10 <HEAD> 11 12 13 14 15 <BODY> <FORM method="POST" action = "guardarAlta.php"> Su nombre de usuario: <INPUT TYPE="text" name="nick" 16 id="nick"><BR> Su Contrasea: <INPUT TYPE="password" name="password" id="password"><BR> Su correo electronico: <INPUT type="text" name="correo" 18 id="correo"><BR><BR> 17 <INPUT type="submit" NAME="enviar" VALUE="Dar de alta!" id="enviar"> 20 </FORM> 19 21 </BODY> 22 </HTML> <TITLE>PHP y MySQL -Capturar datos alta</TITLE> </HEAD> Gonzalo Silverio 02/09/2010 gonzasilve@gmail.com
formularioAlta.html
guardarAlta.php Este archivo abre una conexion con el servidor MySQL, captura los datos que llegan por el metodo POST, realiza dos comprobaciones para validar los datos a insertar, si los datos logran pasar satisfactoriamente las dos validaciones se hace la insercion y se avisa al usuario del exito de la operacion. A continuacion el codigo fuente, los comentarios indican donde se realiza cada cosa:
01 <!-02 03
Descripcion: Archivo fuente de PHP que muestra como realizar una operacion INSERT en una BD de MySQL, con datos que llegan de un 04 formulario HTML. 05 Author: 06 Fecha: 07 Archivo: 08 --> 09 10 <HTML> Gonzalo Silverio 02/09/2010 guardarAlta.php gonzasilve@gmail.com
11 <HEAD> 12 <TITLE>PHP y MySQL -Resultados de alta</TITLE> 13 </HEAD> 14 15 <BODY> 16 17 <?php 18 //Abrir una conexion con el servidor MySQL 19 $conexio = mysql_connect("localhost","root","12345"); mysql_select_db ("prueba", $conexio) OR die ("No se puede 20 conectar"); 21 22 23 24 25 26 27 28 29 30 31 32 33 //1.- Comprobar que no haya otro usuario con el mismo nick $sql="SELECT nick FROM usuarios WHERE nick='".$nik."'"; $result=mysql_query($sql,$conexio); if($row=mysql_fetch_array($result)) { echo "El nick <b>".$nik."</b> ya fue elegido por otro usuario."; /*cancelar la ejecucion del script y por tanto de la //Recoger datos que llegan $nik=$_POST['nick']; $pas=$_POST['password']; $cor=$_POST['correo'];
//2.- Comprobar que no haya otro usuario registrado con el mismo correo 36 $sql="SELECT correo FROM usuarios WHERE correo='".$cor."'"; 37 38 39 40 41 $result=mysql_query($sql,$conexio); if($row=mysql_fetch_array($result)) { echo "El correo electronico <b>".$cor."</b> ya fue registrado por otro usuario."; /*cancelar la ejecucion del script y por tanto de la
//Si se ha logrado pasar las dos validaciones anteriores, entonces... 44 //Realizar el INSERT en la tabla mysql_query("INSERT INTO usuarios(nick,pw,correo) VALUE ('$nik', '$pas', '$cor')",$conexio); echo "Registro Exitoso! <br><br> Usuario: <b>".$nik."</b> 46 <br>Mail: <b>".$cor."</b>"; 45 47 48 //Cerrar la conexion
49 mysql_close($conexio); 50 ?> 51 <BR><BR> 52 <form method="POST" action="mostrarRegistros.php"> <input type="submit" name="enviar" id="enviar" value="Ver registros de tabla"> 54 </form> 53 55 </BODY> 56 </HTML>
mostrarRegistros.php Este archivo de codigo fuente abre una conexion con el servidor MySQL, realiza una seleccion (SELECT) de todos los registros de la tabla usuarios y los muestra en una tabla de tres columnas (3 campos tiene la tabla). A continuacion el codigo, otra vez los comentarios indican donde se realiza cada cosa:
01 <!-02 03
Descripcion: Archivo fuente de PHP que muestra como realizar una operacion SELECT 04 en una BD de MySQL. 05 Author: 06 Fecha: 07 Archivo: 08 --> 09 <HTML> 10 <HEAD> 11 <TITLE>PHP y MySQL -Mostrar datos</TITLE> 12 </HEAD> 13 14 <BODY> 15 16 <?php 17 18 19 20 21 22 23 24 25 26 //Mostrar los registros en una tabla en el navegador echo "<TABLE BORDER='1' width=50% align=center>"; //Seleccionar todos los registros $sql="SELECT * FROM usuarios"; $result=mysql_query($sql,$conexio); //Abrir una conexion con el servidor MySQL $conexio = mysql_connect("localhost","root","12345"); mysql_select_db ("prueba", $conexio) OR die ("No se puede conectar"); Gonzalo Silverio 02/09/2010 gonzasilve@gmail.com
mostrarRegistros.php
2 8 2 9
while ($row=mysql_fetch_array($result)) {
echo 3 "<TR><TD>".$row["nick"]."</TD><TD>".$row["pw"]."</TD><td>".$row["cor 0 reo"]."</td></TR>"; 31 32 33 34 35 36 37 ?> 38 <center> 39 40 41 <br> <form method="POST" action="formularioAlta.html"> //Cerrar la conexion mysql_close($conexio); } echo "</TABLE>";
<input type="submit" name="nuevo" id="enviar" value="Nuevo contacto"> 42 </form> 43 </center> 44 </BODY> 45 </HTML>
En resumen la logica del ejemplo es: El usuario abre el archivo formularioAltas.html en un navegador > el usuario ingresa los datos y da clic en el boton submit > Los datos son enviados al archivo guardarAlta.php > Una vez que llegan los datos, se insertan en la BD (ho se muestra un msg de error de validacion) > El usuario da clic en el boton Ver registros el cual es un boton submit y manda a llamar al archivo mostrarRegistros.php> El archivo mostrarRegistros.php muestra los datos en el navegador. A continuacion unos pantallazos de la ejecucion del ejemplo: El usuario captura los datos y da clic en el boton Dar de alta!
Se muestran al usuario resultados de la insercion, el usuario debe dar clic en el boton Ver registros de tabla