itzkarlos
Usuario (Perú)

Bienvenidos al POST: Este POST está dedicado a APACHE, PHP, PHP CON BASE DE DATOS(MYSQL, POSTGRESQL, ORACLE,), CONEXION CON ODBC.-------------------------------- PROBADO Y FUNCIONANDO EN WINDOWS XP y WINDOWS 7 (32 & 64 bits)------------Bueno que esperamos para comenzar Para comenzar a crear nuestra aplicación en PHP primero debemos tener en cuenta lo siguiente.....•Instalar un servidor web (ejem.: apache)•Copiar las librerías php•Configurar el servidor apache (httpd.conf)--> para que soporte código php•Instalar un servidor de base de datos (ejem.: mysql)Otra alternativa sería usar el programa WAMP SERVER o XAMP SERVER --->Estos son pequeños aplicativos en los cuales viene integrado y configurado una versión pequeña de apache, php y mysql (hechos solo para fines didácticos).En nuestro caso usaremos:- Apache 2.2 : descárgalo aquí- HeidiSQL: Entorno sencillo de base de datos mysql (entorno grafico bd mysql) : descárgalo aquíNpp (notepad ++): usado para abrir archivos de configuración . ¿Y porqué no simplemente usamos el bloc de notas....? Debido a que este identifica el número de línea y esto nos va ser necesario. Es muy similar al bloc de notas. : descárgalo aquí****** En algunas imágenes se observa el directorio "L" debido a que en xp uso el disco "L" y en win7 el disco "C", ustedes realicen TODOS los pasos en su directorio principal.Entonces comencemos instalando el APACHE : * Ejecutamos el instalador del APACHE, y completamos como indica la imagen (De preferencia instálenlo en su partición principal, generalmente es el disco C):Con esto tenemos el APACHE instalado en nuestra computadora, por ahora APACHE sólo detecta código HTML, entonces debemos configurarlo para que detecte código PHP, el cual nos interesa.Entonces debemos descargar el siguiente archivo: descárgalo desde aquí- Luego cópialo a el directorio principal (en mi caso "disco C"Este archivo contiene las librerías necesarias para que APACHE pueda trabajar con código PHP:- Extrae la carpeta y cámbiale de nombre a "php52"- Buscamos el archivo llamado "php.ini-recommended" (para ubicarlo activa la visualización de extensiones de archivos) Este archivo contiene la configuración del lenguaje PHP lo renombramos a php.ini:- Se necesita este archivo para configurar las diversas bases de datos (MySQL, Oracle, postgreSQL), o Aplicaciones php que generen reportes en pdf, que generen gráficas, etc.- Luego copia todos los archivos dll (con extensión dll) a la carpeta system32, esta es su ruta:C:WindowsSystem32 Ahora instalemos el nnp (notepad ++):- Luego de instalar el nnp vamos a editar el archivo "httpd.conf" del apache, de la siguiente manera:- Nos ubicamos en el directorio como nos muestra la imagen, y damos clic derecho a "Edit the Apache httpd.conf "Luego clic en :- Una vez en el archivo httpd.conf editamos lo siguiente:Nos ubicamos en la línea 127 y escribimos lo que muestra la imagen:Explicación: - línea 128: Carga el modulo php, y se hace mención al archivo dll que hace mención al apache 2.2 (la imagen muestra la ruta donde lo guarde) - línea 129: Es el Directorio principalNos ubicamos en la línea 385 y cambiamos como nos muestra la imagen:Entonces probamos la configuración:- Si aparece y desaparece inmediatamente una ventana, significa que todo esta OK Luego reiniciamos el APACHE, tal como muestra la imagen:Para probar si APACHE detecta el código PHP entonces creamos un archivo en el bloc de notas "ekemplo1" y le cambiamos la extensión a php .(quedaría asi: "ekemplo1.php"*---------------------------------------------------------------------------------------------*<html><head><title>Aplicacion 1 con php</title></head><body><center><h1>bienvenidos a php</h1></center><?php echo 'imprimiendo con php';?></body></html>*---------------------------------------------------------------------------------------------* luego lo guardamos en la siguiente ruta:win 7: C:Archivos de programa (x86)Apache Software FoundationApache2.2htdocswin XP: C:Archivos de programaApache Software FoundationApache2.2htdocs- Luego escribimos la siguiente ruta en nuestro navegador de internet:Como hemos visto los archivos php se guardan en htdocs. Si se desea cambiar la carpeta de publicación: se crea una carpeta. Entonces crearé una llamada "publicacionphp" en el directorio principal.Entonces no basta simplemente con crear esta carpeta y .. ya! , tenemos que configurar el archivo httpd.conf del APACHE con el notepad ++ , de la siguiente manera:- Se cambia la linea 180:Por esta otra:Luego la linea 207:Por esta otra:Luego reiniciamos el APACHE........ y listo!! Ahora los archivos php se guardan en la carpeta publicacionphp que hemos creado. Con esto hemos terminado de configurar lo básico para ejecutar aplicaciones PHPAhora, lo siguiente sería instalar MySQL, y una herramienta para manejar gráficamente la base de datos, existen muchas herramientas para este fin, en mi caso usaré HeidiSQLComenzemos con mysql, pueden descargarlo desde su página http://www.mysql.com/downloads/.En mi caso uso MySQL 5.1Iniciamos el instalador, aceptando todas las opciones, luego continuamos según las imágenes:Según la base de datos,utiliza un puerto diferente en mysql el puerto es 3306:Colocamos un password, en mi caso colocaré "uni":Finalizando la instalación:Con esto ya hemos terminado, iniciemos MySQL.Inicio -> todos los programas -> mySQL ->MySQL command line clientLuego nos pedirá el password.Si desean mas info sobre MySQL visiten: http://www.taringa.net/posts/downloads/6790990/Manual-y-ejercicios-_desarrollados_-de-BASE-DE-DATOS.htmlContinuemos instalando HeidiSQL, como dije esta herramienta permite manejar las bd de MySQL de manera gráfica.Iniciamos el instalador hasta finalizar, al iniciar HeidiSQL aparece la siguiente ventana:La IP es la de su máquina y el password es el mismo que pusimos al instalar MySQL (uni).Damos clic a SAVE, y luego OPENPor ahora PHP no reconoce a MySQL, entonces para que lo reconosca hacemos uso del archivo "PHP.INI", visto antes, el cual esta en la carpeta PHP52.Este archivo se encarga de visualizar todas las Características que está soportando el lenguaje php, para comprobar esto En un bloc de notas con extensión .php en la carpeta publicacionphp. escribimos lo sgte:<?php phpinfo();?>Lo nombramos test.phpLuego ejecutamos en el navegador: http://localhost/test.phpAbrimos con el nnp el archivo php.ini y vamos a la linea 542En la línea 542 se le dice donde se encuentran los archivos dll:En la carpeta ext de php52 estan las extensiones que permiten trabajar con bd mysql :A partir de la línea 661, se mencionan todas las extensiones dll, luego se quita el comentario a las dll de bd mysql:Copiar el archivo PHP.INI a la carpeta WindowsLuego copiar todas la dll de la carpeta php52 a Windows/system32 ; después se reinicia el apache y listo, php reconoce a bd mysql….Ahora que tenemos instalado y configurado lo necesario creare un ejemplo de una aplicación web con PHP, comencemos entonces:Para esto usare Netbeans, si no lo tienen pueden descargarlo desde su página http://netbeans.org/ (no olviden descargar la versión que soporta código PHP)Si tienen NetBeans, pero no soporta PHP, entonces hagan lo sgt:Menu Tools -> Plugins -> pestaña available plugins -> A la derecha donde dice search escriben "PHP" -> buscan en los resultados PHP luego clic a Install -> luego reinicien Netbeans -> Listo! Entonces creamos un nuevo proyecto PHP en netbeans, este servirá de ejemplo para entender lo básico de PHP:DATO---> No se debe ejecutar todo en el servidor, Lo dinámico se ejecuta en el servidor(bd, código php) y lo estático (HTML) no.Dentro del proyecto creamos un archivo Web Page llamado login.php y escribimos lo siguiente:<html> <head><title>Aplicacion con PHP</title> </head> <body> <?php include('libreria.php'); encabezado(); ?> <h1><center><b>Ingreso de Usuarios</b></center></h1> <form action="valida.php" method="post"> <table> <tr> <td>Usuario</td> <td><input type="text" name ="usuario" value=""></td> </tr> <tr> <td>Clave</td> <td><input type="password" name ="clave" value=""></td> </tr> <tr> <td><input type="submit" value="Ingresar"></td> <td><input type="reset" value="Limpiar"></td> </tr> </table> </form> <?php pie(); ?> </body></html>Explicando:Para esto debemos estar familiarizados con HTML, tenemos un formulario que envia sus datos a "valida.php": <form action="valida.php" method="post"> , utilizando el método POST.POST ====== Método más seguro, pero más lento; la información no se muestra en la barra de navegación.GET====== los datos se muestran en la barra de navegaciónSi no se menciona la propiedad METHOD, usa por defecto GETAl presionar el botón Ingresar, entonces envía los datos ingresados a "valida.php"Antes veamos un poco de la sintaxis en PHP:$_post [nom_caja_texto] --->captura los datos de un formulario$nom_variable --->declaración de variable en PHPEcho ---> comando que imprime en PHPComentarios en PHP:<?php // comentario desde PHP?>Creamos entonces el archivo que recibe los datos, creamos un PHP FILE llamado valida.php:<?php include('libreria.php'); encabezado(); ?><?php$usu=$_POST['usuario'];$con=$_POST['clave'];if($usu=='uni'&& $con=='uni'){ ?> <font color=blue size=8 face=arial>Bienvenido</font> <br>Tus datos registrados son:<br> Usuario: <?php echo $usu ?><br> Clave: <?php echo $con ?><br> <a href="http://www.yahoo.com">Ingresar </a><?php}else{ ?> <font color=red size=8 face=verdana>Error</font> <br>Tus datos registrados son incorrectos<br> <a href=login.php>Regresar</a><?php }?><?php pie();?>Explicando: include('libreria.php'); --> con esto estamos haciendo referencia al archivo libreria.phpencabezado(); ---> con esto invocamos a la función encabezado() del archivo libreria.php<?php pie();?> --->>> con esto invocamos a la función pie() del archivo libreria.php el cual nombramos antesCreamos el PHP FILE libreria.php, el cual contiene las funciones que llamamos en "valida.php"<?phpfunction encabezado(){ ?> <h1><font color="blue">Empresa ABC</font></h1> <img src=logo.jpg ><br> <hr> <?php}function pie(){ ?> <hr> <p align="center">Copyright Empresa ABC 2011 . Todos los derechos reservados</p> <?php}?>Este archivo contiene 2 funciones que son llamadas por valida.php luego veremos con detenimiento las funcionesOtro ejemplo podría ser una calculadora, el ejemplo anterior y la calculadora pueden descargarlo aquí:http://dl.dropbox.com/u/9499913/ejemplo.rarMANEJO DE ARCHIVOSVeamos ahora el manejo de archivos con PHP con este ejemplo que es un Libro de Visitas, bien para comenzar creamos un formulario que servirá para ingresar los datos a nuestro archivo PHP.Entonces lo creamos de la siguiente manera:<html><head><title>Libro de visitas</title></head> <body><h1><center>Libro de visitas</center></h1> <form action="reporte.php" method="post"> <table> <tr> <td>Apellidos</td> <td><input type="text" name="apellidos" value=""></td> </tr> <tr> <td>Nombres</td> <td><input type="text" name="nombres" value=""></td> </tr> <tr> <td>Estudios</td> <td><select name="estudios"> <option>Contabilidad</option> <option>Administracion</option> <option>Ing. Sistemas</option> <option>Otros</option> </select> </td> </tr> <tr> <td>Ocupacion</td> <td><select name="ocupacion"> <option>Analista</option> <option>Gerente</option> <option>Administrador</option> <option>Otros</option> </select> </td> </tr> <tr> <td><input type="submit" value="Registrar"></td> <td><input type="reset" value="Limpiar"></td> </tr> </table> </form> </body></html>Explicación:<form action="reporte.php" method="post"> Con esta linea lo que hacemos es mandar todos los datos del formulario a un archivo que los procesará llamado "reporte.php" utilizando el método "post", explicado anteriormenteLos datos que se manejan son: apellidos, nombres, estudios y ocupación.Ahora veamos el archivo php que procesa esta información:------- reporte.php -------<?php//se capturan los datos del formulario anterior:$ape=$_POST['apellidos'];$nom=$_POST['nombres'];$est=$_POST['estudios'];$ocup=$_POST['ocupacion'];//fecha y hora del sistema del servidor (puede obviarse si se desea)$fecha=date('d-m-y');$hora=date('h:i:s');//funcion fopen= crea un archivo, abre un archivo//a fopen se le da 2 parametros: libro.txt y "a"(es el modo)// modo a = significa modo lectura y escritura$archivo=fopen('libro_visitas.txt','a');//luego en la variable $texto capturo los datos$texto="$apet$nomt$estt$ocupt$fechat$horan";//aqui se abre el archivo y ubica el puntero en la parte final del//archivo(a+)$archivo=fopen('libro_visitas.txt','a+');//se escribe todo lo que tiene la variable texto en la variable archivofwrite($archivo,$texto);fclose($$archivo);//Enlace para realizar otro registroecho '<b>Datos registrados correctamente</b><br>';echo '<a href=registro.php>Nuevo registro</a>';//funcion file=lee el archivo de texto//lo envia a un arreglo llamado datos$datos=file('libro_visitas.txt');echo'<table border=1>';//count contabiliza el numero de filas de la variable datosfor($i=0;$i<count($datos);$i++){ //funcion explode=se hace mencion a datos y a la variable "i" //funcion list=declara variables //v1=ape,v2=nom, etc. list($v1,$v2,$v3,$v4,$v5,$v6)=explode("t",$datos[$i]); echo '<tr>'; echo '<td>' .$v1. '</td>'; echo '<td>' .$v2. '</td>'; echo '<td>' .$v3. '</td>'; echo '<td>' .$v4. '</td>'; echo '<td>' .$v5. '</td>'; echo '<td>' .$v6. '</td>'; echo '</tr>';}echo'</table>';?>Explicación: Los comentarios en PHP se dan por dos barras // comentario , en el mismo archivo explico lo que hace cada línea.Luego de esto será necesario crear un txt (en el bloc de notas) llamado "libro_visitas.txt" su ubicación sería donde se guarda el proyecto.Si ingresamos datos se debería mostrar algo así:-------------------------------------------------------------------------------Próxima actualización:TRABAJANDO CON CONEXIÓN A MYSQL.Agregen a Favoritos para seguir las actualizaciones.......Pregunten cualquier problema que tengan al realizar los pasos