Está en la página 1de 33

Desarrollo web con PHP y MySQL

http://setratadeunblog.host22.com Por favor, no copiar, esta hecho para que los descarguen, si lo suben, por favor pongan las fuentes de quien lo hizo. No borrar este link, si no me veo obligado a eliminar este PDF. Se puede postear en los foros que quieras, siempre y cuando no digas que es tuyo. Hecho y escrito por desarrollo, desarrollo95, fcdragons, loko.erik o lokerik somos todos el mismo :) Este curso es basico, no esperen aprender mas que todo el mundo Setratadeunblog tambien es propiedad de los usuarios dichos antes. Espero que aprendan todo sobre PHP y MySQL con este PDF, Hecho desde Linux con OpenOffice.

CURSOPHP|

loko.erik_69@hotmail.com

ndice
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Pequeaintroduccion.............................................................................................. 3 AntesdeempezarInstalaciondeunservidor.......................................................4 ElprincipioconHolaMundo..................................................................................5 Comentarios............................................................................................................ 8 Procesarvariablesdeformulario.............................................................................9 Declararyutilizarconstantes.................................................................................. 11 Utilizaroperadores.................................................................................................. 12 Comenzamosautilizarlasfunciones...................................................................... 16 Elif,elelse,yelseif................................................................................................ 17 forywhile.Introduccion......................................................................................... 19 Jugandoconarchivos.............................................................................................. 21 Vectores................................................................................................................... 23 BasesdeDatos.........................................................................................................24 Manejodeficherosenelservidor........................................................................... 29 Redireccionamiento.................................................................................................30 Cookies....................................................................................................................31 Llegoelfinal........................................................................................................... 33

CURSOPHP|

loko.erik_69@hotmail.com

Pequeaintroduccion
PHP
Que es PHP? PHP es un lenguaje de secuencia de comandos de servidor diseado especificamente para la web. Dentro de una pagina web puede incrustar codigo PHP que se ejecutara cada que alguien entre en la pagina. El codigo PHP se interpreta en el servidor Web y genera codigo HTML y otro contenido que el visitante vera. Cuando? En 1994. Quien? Rasmus Lerdorf. Que son sus siglas? Bueno, las siglas de PHP antes era Personal Home Page, en espaol, Pagina de Inicio Personal, pero eso era antes, ahora es PHP: Hypertext Preprocessor, en espaol, PHP: Preprocesador de Hypertexto. Cual es su pagina oficial? http://www.php.net/ Como se inicia un codigo PHP? Se inicia con <?php (metodo recomendado) y se cierra con ?> hay mas metodos, pero utilizaremos este

MySQL
Que es MySQL? MySQL es un sistema para la administracion de bases de datos. Que se hace en una base de datos? Dentro de una base de datos, puedes almacenar, actualizar, buscar, ordenar y otras muchas cosas datos, los cuales se guardan en tablas. Y cuantos idiomas tiene? MySQL lo tienes en varios idiomas, ya sea Espaol, Ingles, Frances, Italiano, etc. Si los escribo todos lleno 300 paginas. Que significan sus siglas? Las siglas de MySQL, son My Structured Query Language, en espaol es, Mi Lenguaje de Consulta Estructurado. Cual es su pagina oficial? http://dev.mysql.com/

CURSOPHP|

loko.erik_69@hotmail.com

Antesdeempezar Instalaciondeunservidor
Instalando WAMP server en Windows.
WAMP, es un paquete en el que ya te vienen Apache, PHP, y MySQL. Se puede descargar desde http://www.wampserver.com/, es FreeWare, es decir, totalmente gratuito, y se instala como los demas programas de Windows. Para iniciar WAMP cada vez que lo desee utilizar, tan solo se va al sitio donde eligio instalarlo, el disco duro C:\ es el predeterminado. Ahi debe buscar la carpeta WAMP, y dentro de ella se encuentra otro directorio llamado www, ahi debe meter sus archivos para poder visualizarlos desde la url http://localhost/nombredesuarchivo.php claro, que tambien se pueden abrir .html. Para entrar en PHPMyAdmin tan solo debe escribir http://localhost/phpmyadmin/

Instalando LAMP en linux


LAMP, que significa: Linux Apache MySQL PHP, es el paquete de Linux, se debe instalar desde la consola, que la encuentra facilmente en el menu de Aplicaciones > Accesorios > Terminal, y desde alli deben escribir los siguientes comandos. apt-get install apache2 php5 libapache2-mod-php5 Este comando le instalara PHP + Apache apt-get install mysql-server mysql-client php5-mysql Este le instalara MySQL apt-get install phpmyadmin Este le instalara phpMyAdmin Ahora, si quiere usar PHPmyAdmin con Apache, editas el archivo situado en /etc/ apache2/apache2.conf y le aades la siguiente linea: Include /etc/phpmyadmin/apache.conf Una vez instalado todo, tan solo reiniciamos nuestro servidor con la siguiente linea en el Terminal: /etc/init.d/apache2 restart

CURSOPHP|

loko.erik_69@hotmail.com

ElprincipioconHola Mundo
Aplicacin Hola Mundo
Alomejor no habias oido hablar sobre esto, pero comenzar con el Hola Mundo, lo han hecho, hasta los mayores profesionales de PHP. Esto consiste en aprenderse las variables y los echo, ahora explicaremos mas o menos. Que es el echo? Es un comando por decirlo de alguna manera, que imprime datos, ya sean de un texto, de una variable, de una constante, etc. Su utilizacion, yo creo que es lo mas sencillo en PHP. Su estructura seria asi mas o menos: <?php echo Hola Mundo; ?> Prueba a poner esto en un archivo PHP, guardarlo en tu servidor y probar de abrirlo en el localhost. Que es lo que ves? Ves que tan solo sale el texto Hola Mundo, bueno, que te esperabas, lo que hemos hecho, ha sido imprimir el texto Hola Mundo, en nuestro servidor, ahora, intenta de mirar el codigo fuente de la pagina, Ahora que ves? Tan solo HTML, seguro que si buscas no ves ningun <?php ni ningun echo ni ningun ?> tan solo ves Hola Mundo, eso es porque PHP ha recorrido la secuencia de comandos, y ha mostrado los resultados, que vendria a ser el Hola Mundo que ves ahora mismo en tu navegador.

Uso de variables
El uso de variales, es sencillito, seria una cosa asi: <?php $hola = Hola Mundo; echo $hola; ?> Si te fijas, todos los comandos que efectuamos en PHP, se cierran con un ; eso es para indicar que se acaba el comando. Tambien debes fijarte en dos aspectos mas, todas las variables, llevan antepuesto el simbolo del dlar ($), la otra cosa en la que te debes fijar, es que si ponemos echo con un texto hay que usar comillas () y en cambio, si es una variable, no nos hacen falta. Ahora, mira esto:

CURSOPHP|

loko.erik_69@hotmail.com

<?php echo Hola ; echo Mundo; ?> Y ahora esto: <?php echo Hola ;echo Mundo; ?> Crees que son iguales? Pues si, PHP es como el HTML, los saltos de linea, no los cuenta, a no ser, que haya una etiqueta <p> <br> <?php echo Hola; echo <br>; echo Mundo; ?> Asi se mostraria lo siguiente: Hola Mundo en nuestro navegador.

Tipos de Variables
No te creas, que solo hay un tipo de variables, llamada variable. Hay muchos tipos de variables, son los siguientes: <?php //variable de tipo string $fruta = pera; //variable de tipo boolean $true = false; //variable del tipo integer $numero = 6; //variable del tipo double $dobleonada = 340,215; ?> Antes de nada te estaras preguntando que era //esto. Bueno, pues eso son los comentarios en PHP, hay varios tipos, pero que los estudiaremos en el siguiente capitulo.

CURSOPHP|

loko.erik_69@hotmail.com string contienen una serie de caracteres integer contienen un numero entero (0,1,2,3,4,5,6,7,8,9,10) double contiene numeros decimales(1,2 2,3 4,5) boolean es para definir verdadero(true ) o falso( false)

Las variables de tipo Las variables de tipo Las variables de tipo Las variables de tipo

Un pequeo ejemplo de algunos de los tipos de variables <?php //variable de tipo string $fruta = Manzana; echo Usted quiere una ; echo $fruta; echo Resultado en navegador: Usted quiere una Manzana; //variable de tipo integer $cumple = 6; echo Mi cumpleaos es el dia ; echo $cumple; echo Resultado en el navegador: Mi cumpleaos es el dia 6; //variable de tipo double $pi = 3,14; echo El numero pi es ; echo $pi; echo Resultado en el navegador: El numero pi es 3,14; ?>

CURSOPHP|

loko.erik_69@hotmail.com

Comentarios
Tipos de comentarios
Existen varios tipos de comentarios, los de una linea y los de varias lineas. Los comentarios, es texto de referencia que no se vera en el navegador, y tan solo sirve para guiarte mas o menos de que hace cada cosa, o de saber cuando empieza y cuando acaba un codigo, y mas, asi no andas tan perdido en un codigo de 100 lineas o de 200 o de 1000, jeje. Y son los que os muestro ahora: <?php echo Hola; //imprimimos el texto Hola, ademas este es un comentario de una linea ?> Como ves este, empieza por // y el fin es cuando se acaba esa linea. Ahora otro de una linea: <?php echo Hola; # Imprimimos, este tambien es solo de una linea ?> Este es con el simbolo del # y se acaba cuando acaba la linea. Ahora vamos a ver los de mas de una linea: <?php /* Autor de este codigo: http://setratadeunblog.host22.com Fecha de creacion: 03/03/2003 Ultima actualizacion: 25/04/2009 Titulo: PHP Registro de usuarios Accion: Registrar y autentificar usuaris mediante PHP y una base de datos MySQL, tan solo copia y pega el codigo. Estos son comentarios multilinea */ echo Codigo PHP; ?> Este se abre con /* y se cierra con */, se suele usar para poner creditos, datos del script y todo eso.

CURSOPHP|

loko.erik_69@hotmail.com

Procesarvariablesde formulario
Explicacion
Las variables de formulario, como ya parece que dice su nombre, procesan los datos guardados en un formulario, y son capaces de insertarlos en una base de datos MySQL, mostrarlos en el navegador, y mas cosas, en si lo de insertar en una base de datos se haria con la funcion insert que explicaremos mas adelante. Vamos a comenzar creando un formulario de pedidos imaginarios, de un tal Paco Paquero, que tiene una tienda de electrodomesticos. El lo que quiere es procesar un formulario, para que sus clientes le puedan hacer pedidos por Internet. Comenzaremos creando nuestro formulario de pedidos <form action=procesarpedidos.php method=post name=formpedidos> Cuantas lavadoras quieres?<br /> <input type=text name=cantlavadoras size=10 /> <p> Cuantas neveras quieres?<br /> <input type=text name=cantneveras size=10 /><p> <input type=submit value=procesar Pedido /> </form> Este es nuestro formulario de ejemplo, que utilizaremos, para que el cliente, meta los datos que le piden. Ahora necesitaremos una aplicacin en PHP que procese el formulario, y lo haremos de una forma muy sencilla. Este es el archivo procesarpedidos.php <?php //ledamoselnombredelcampodelformulariocantlavadoras $cantlavadoras = $_POST['cantlavadoras']; $cantneveras = $_POST['cantneveras']; //lo mismo que en el de arriba en este echo Ha pedido ; //imprimimos ahora tan solo texto echo $cantlavadoras; //Ahora es cuando imprimimos la cantidad que puso echo lavadoras y ; //Texto otra vez echo $cantneveras; //Aqui volvemos a imprimir la cantidad que puso echo neveras; //otra vez texto ?> Si pruebas a ponerlo, te tiene que salir los siguiente en el navegador 9

CURSOPHP|

loko.erik_69@hotmail.com

Ha pedido (numero de lavadoras que pusieron los clientes en el campo del formulario) lavadoras y (numero de neveras que pusieron los clientes en el campo del formulario) neveras Un ejemplo, el cliente pidio 2 lavadoras y 3 neveras, pues nuestro codigo imprime lo siguiente: Ha pedido 2 lavadoras y 3 neveras Lo que hace nuestro codigo es en el action del formulario, coge nuestro archivo que procesa el PHP y lo lee, y ve que le estamos pidiendo los datos del campo cantlavadoras y cantneveras con la variable $_POST. Este codigo se podria haber hecho mas corto de esta manera: <?php $cantlavadoras = $_POST['cantlavadoras']; //le damos el nombre del //campo del cantlavadoras $cantneveras = $_POST['cantneveras']; //lo mismo que arriba echo 'Ha pedido '.$cantlavadoras.' lavadoras y '.$cantneveras.' neveras'; ?> Asi os deberia funcionar correctamente, porque lo probe yo en mi servidor y funciona perfectamente. El proximo capitulo sigue sin ser tan dificil, aprenderemos a utilizar constantes y declararlas. Eso se resume en media pagin o incluso menos. Recuerdo que este tutorial esta creado unicamente y en su totalidad por http:// setratadeunblog.host22.com/ No ha ayudado nadie, pero quiero dar agradecimientos a javigafe, lo encontraran en varios foros, el usuario javigafe de youtube no es el javigafe al que le agradezco, y tambien a K1r4, lo encontraran en http://foro.portalhacker.net Hecho por desarrollo, fcdragons, loko.erik, lokerik, desarrollo95 todos somos 1

10

CURSOPHP|

loko.erik_69@hotmail.com

Declararyutilizar constantes
Que hace una constante?
Una constante almacena un valor como una variable con la diferencia de que solo se establece una vez y no se puede editar en ningun otro punto de la secuencia.

Declarar y utilizar constantes


Se puede declarar una constante con la funcion define, como en este ejemplo: <?php define('CANTLAVADORAS', 835); defne('CANTNEVERAS', 1256); ?> Con esto hemos definido dos constantes, pero ahora como las utilizamos, facil, con un simple echo, ya se que es pesado el echo y que sale mucho, pero vereis que es muy util. <?php echo CANTLAVADORAS; echo <br>; echo CANTNEVERAS; ?> No se si te has fijado, pero las constantes siempre se escriben en mayusculas y no llevan antepuesto el simbolo del dlar. Debes saber que PHP tiene muchas constantes propias aparte de las que nosotros definimos.

11

CURSOPHP|

loko.erik_69@hotmail.com

Utilizaroperadores
Utilizar operadores
Los operadores manipulan valores y variables haciendo operaciones sobre estos. Estos se pueden utilizar para calcular operaciones matematicas, saber el total de un pedido, etc.

Operadores aritmeticos
Hay varios operadores aritmeticos, os pongo cada operador aritmetico en el siguiente codigo: <?php $suma = el operador es +; $multiplicacion = el operador es *; $division = el operador es /; $resta = el operador es -; $modulo = el operador es %; echo ejemplo del operador suma seria $cantlavadoras + $cantneveras<p>; echo ejemplo del operador multiplicacion seria $cantlavadoras * $cantneveras<p>; echo ejemplo del operador division seria $cantlavadoras / $cantneveras<p>; echo ejemplo del operador resta seria $cantlavadoras $cantneveras<p>; echo ejemplo del operador modulo seria $cantlavadoras % $cantneveras; ?> Esto si lo poneis en vuestro servidor solo se os veria la frase ejemplo del operador noseque seria y el simbolo del operador no se verian las variables, porque las ejecuta aunque no haya nadie que las relacione. Si queremos hacer una suma seria algo asi, reemplaza el siguiente codigo con el de procesarpedidos.php del formulario anterior:

12

CURSOPHP|

loko.erik_69@hotmail.com

<?php //precio de las lavadoras $preciolavadoras = 835; //precio de las neveras $precioneveras = 925; //cogemos la cantidad que queria de lavadoras el cliente $cantlavadoras = $_POST['cantlavadoras']; //cogemos la cantidad que queria de neveras el cliente $cantneveras = $_POST['cantneveras']; //multcantprelav es multiplicacion cantidad precio lavadoras $multcantprelav = $cantlavadoras * $preciolavadoras; //multcantprenev es multiplicacion cantidad precio neveras $multcantprenev = $cantneveras * $precioneveras; //aqui ya suma las multiplicaciones de arriba $totalpedido = $multcantprelav + $multcantprenev; //imprimimos el total del pedido echo 'El precio total del pedido es '.$totalpedido.''; ?> Lo que hara sera multiplicar la cantidad de las lavadoras por su precio, al igual que las neveras, y despues suma las dos variables que contienen el total de cada producto, despues tan solo nos queda imprimir el resultado. A que es facil usar operadores aritmeticos, estos se pueden asignar a varias cosas, tambien se puede usar en los if(explicare que es mas adelante). Cuenta que si cambias el simbolo + del codigo anterior por el de division o el de multiplicacion o resta te hara lo que tu le digas, bueno, escribas.

Operadores de asignacion
Los operadores de asignacion nos dejan cambiar el valor de una variable. Hay varios tipos, pero el basico es el 'es igual a' (=) Con esto se puede escribir por ejemplo: <?php $a += 5; echo $a; ?> <?php $a = $a + 5; echo $a; ?>

____ ____

Con esto tan solo nos muestra un 5, pero que pasaria con este: <?php $a = 5; $a += 5; echo $a; ?> 13

CURSOPHP|

loko.erik_69@hotmail.com

Este nos mostraria un 10. Porque lo que hace es que al valor de $a le suma 5 con el +=. Tipos de operadores de asignacion: Operador += -= *= /= %= .= Equivale a $a = $a + $b $a = $a - $b $a = $a * $b $a = $a / $b $a = $a % $b $a = $a . $b $a += $b $a -= $b $a *= $b $a /= $b $a %= $b $a .= $b Uso

Incremento y decremento previo y posterior


Los operadores de incremento(++) y decremento(--) previo y posterior son parecidos a += y -=, pero con algunas diferencias. Este es el Incremento previo. Prueba a poner esto en tu codigo: <?php $variable = 10; echo ++$variable; ?> Te muestra 11. Porque lo que hace es en el primer + le suma una unidad y en el segundo muestra el resultado. Este es el incremento posterior. Ahora prueba esto: <?php $variable = 10; echo $variable++; ?> En este caso, el resultado seguiria siendo 10. Porque primero imprime y luego suma, y al estar ya cargada la pagina, sumar no afecta. Lo mismo seria con el de decremento(--).

Operadores de comparacion
Estos operadores comparan dos valores. Estos son como los valores boolean y usan true o false segn el resultado de la comparacion. El comparador == determina si dos valores son iguales. Si son iguales se diria que es verdadero( true), en cambio si son diferentes se puede decir que es falso(false) .

14

CURSOPHP|

loko.erik_69@hotmail.com

Si es false habras generado un error dificil de localizar, asi que comprueba bien siempre los datos. Estos son los tipos de operadores de comparacion que hay Operador == === != !== <> > < >= <= Nombre Igual Identico Distinto Distinto Distinto Mayor que Menor que Mayor o igual que Menor o igual que Uso $variable == $var $variable === $var $variable != $var $variable !== $var $variable <> $var $variable > $var $variable < $var $variable >= $var $variable <= $var

Cuando lleguemos por el if, el else y el elseif vereis buenas formas de utilizarlo.

Operadores lgicos
Los operadores logicos combinan los resultados de condiciones logicas. Un ejemplo de uso, queremos que una variable tenga un valor entre 0 y 500. Podriamos hacerlo de esta manera, con el operador logico &&(AND): <?php $variable <= 100 && $variable >= 0; ?> Tenemos varios operadores y estan en el siguiente listado: Operador ! || or && and Uso !$variable $variable||$var $variableor$var $variable&&$var Nombre NOT OR OR AND Resultado
devuelveverdadero(true)si$varesfalsoyviceversa. daverdaderosi$variableo$varoambassonverdadero,sinodafalso Lomismoque||peroconmenosprioridad Devuelveverdaderosisonambasvariablesverdadero,sinodevuelvefalso Lomismoque&&peroconmenosprioridad

$variableand$var AND

15

CURSOPHP|

loko.erik_69@hotmail.com

Comenzamosautilizarlas funciones
Que es una funcion?
Una funcion, te permite hacer "cosas" por decirlo de alguna manera, una funcion puede hacer que se muestre la fecha, que salgan numero aleatorios, que se quiten los caracteres especiales. Como se usaria una funcion? Su sintaxis es simple, las funciones suelen ser asi: <?php $aleatorio = rand(10,100); echo $aleatorio; ?> Asi lo que hariamos es que cada vez que actualizemos la pagina o se actualize, se mostraran numeros aleatorios de 10 a 100. Simple no?

16

CURSOPHP|

loko.erik_69@hotmail.com

Elif,elelse,yelseif
Forma de utilizarlo.
Bueno, este a algunos les parece dificil, pero su forma de usar es simple. Comenzamos por el if: <?php $variable = 5; if($variable == 5){ echo "La variable es 5"; }else{ echo "La variable no es 5"; } ?> Vale, tu mira el codigo, como ves hemos usado un operador(==) lo que dice este codigo, es que si la $variable es igual a 5, nos saldra un mensaje que dira "la variable es 5". En cambio si cambias el valor de la variable por uno que no sea igual a 5, te mostrara un mensaje que dira "La variable no es 5". Ahora prueba esto: <?php $variable = rand(1,3); if($variable == 2){ echo " La variable es 2"; }else{ echo "La variable es 1 o 3"; } echo "<p>"; echo 'La variable era'.$variable.''; ?> Aqui lo que hace es mostrar numeros aleatorios entre el 1 y el 3. Si el numero, cuando actualizas la pagina es 2 te saldra el primer mensaje, en cambio si actualizas y sale 1 o 3, te saldra el segundo mensaje. Esto lo vas entendiendo? Ahora lo complicamos. Se puede usar mas de un if, yo te muestro como.

17

CURSOPHP|

loko.erik_69@hotmail.com

<?php $variable = rand(1,10); if($variable <= 5){ echo "El numero es menor o igual a 5"; }else{ if($variable >= 5){ echo "El numero es mayor o igual a 5"; } } ?> Ya se que en este se podria haber usado el else sin el if y ya iba, pero era para que vieras que se pueden volver a usar. Ahora, nos toca trabajar con el elseif, es como el codigo anterior pero mas corto, es como si juntaras el else y el if, entonces te sale el elseif: <?php $variable = rand(1,10); if($variable <= 5){ echo "La variable es menor o igual a 5"; }elseif($variable >= 5){ echo "El numero es mas grande o igual a 5"; } ?> Si te fijas, hace lo mismo que el anterior. El if te puede servir para verificar, si los campos de un formulario se dejaron en blanco, y en caso que se dejen soltar un mensaje de error. O para mirar si una COOKIE esta vacia o esta "llena". Y muchas cosas mas.

18

CURSOPHP|

loko.erik_69@hotmail.com

forywhile.Introduccion
Comencemos
Esto se utiliza para repetir, no repetir la sopa, si no repetir datos de PHP, por ejemplo: <?php for($variable = 5; $variable <= 500; $variable++){ echo $variable; echo "<p>"; } ?> Que hacemos aqui? Estamos repitiendo esos numeros hasta el 500, que es cuando dice que la $variable es menor o igual a 500, con la primera instruccion hacemos que comience desde 5 y con la del medio le ponemos de limite 500 y con la ultima vamos sumando de 1 en 1. Y con esto a ver si adivinas que pasara. <?php for($variable = "Me repito 500 veces"; $variable <= 500; $ariable++){ echo $variable; echo "<br>"; } ?> Eso es, esto lo que hara sera repetirse 500 veces el mensaje "Me repito 500 veces". Si tienes un mal ordenador te recomiendo hacerlo solo con 20, porque si es como el mio se cuelga :( Bueno aparte de que se cuelgue si tienes poca RAM, te saldra un monton de scrollbar (la barrita de subir y bajar la pagina). Bueno, ahora usaremos el while, es mas o menos parecido: <?php while ( $variable <= 10) { echo "Contamos $variable <br>"; $variable++; } ?> Hay se nos repetiria, prueba esto:

19

CURSOPHP|

loko.erik_69@hotmail.com

< ?php $variable = rand(1,10); while ( $cuenta <= 10) { echo "Contamos $variable <br>"; $variable++; } ?> Esto hace que puede empezar desde un numero aleatorio.

20

CURSOPHP|

loko.erik_69@hotmail.com

Jugandoconarchivos
Explicacion
Con X de miXta. PHP tambien permite crear, leer, abrir, borrar, editar y mas archivos. Esto nos sirve para un contador de visitas por ejemplo, cada vez que alguien entra a la pagina, se edita el archivo, y le suma un numero, y despues en la zona en donde esta le contador, lee el archivo.

Creacion de un archivo
La creacion de un archivo de texto es un poco complicado de entender a la primera, por eso recomiendo que escribas y leas el codigo hasta que lo entiendas. Comenzamos creando un formulario, donde se dira que se pone en el archivo de texto. <form name="creaciontexto" method="post" action="creararchivo.php"> Cual es tu nombre?<br> <input type="text" name="nombre"> <br> <input type="submit" value="crear"> </form> Despues necesitamos el archivo creararchivo.php que se constituye de esto: <?php $variable = fopen("texto.txt", "a"); fputs($variable, $_REQUEST['nombre']); fputs($variable, "\n"); fclose($variable); echo "Se creo el archivo satisfactoriamente"; ?> Primero abrimos el archivo (fopen) si no existe lo crea, despues le damos un nombre (texto.txt) y la "a" porque queremos que se vaya haciendo grande y se le aadan mas datos. Despues le aadimos lineas al archivo (fputs), le decimos que en el archivo datos.txt($variable) y despues pedimos la informacion del campo nombre ($_REQUEST['nombre']) despues le insertamos un salto de linea(\n) y cerramos el archivo, y como asi deberia funcionar se usa el echo para que diga que salio bien, podriamos usar un or die justo antes del ; del primer $variable de esta manera:

21

CURSOPHP|

loko.erik_69@hotmail.com

<?php $variable = fopen("texto.txt", "a")or die("No se creo el archivo y por eso sale este error"); ?> Sinosepuedecrearelarchivoimprimeelerrorquehayentrelascomillas. Sepuedeguardarencualquierformato,yhacerungeneradordescriptsvbs,osepuedeguardar inclusoen.ini

Mostrarelcontenidodelarchivo
Tambienpodemosmostrarennuestraweb,losarchivos,seriadelasiguientemanera. <?php $variable = fopen("texto.txt", 'r'); while(!feof($variable)){ $var = fgets($variable, 999); echo $var.'<br>'; } fclose($variable); ?>

22

CURSOPHP|

loko.erik_69@hotmail.com

Vectores
Vectores asociativos
Os voy a exponer un ejemplo de como se usan: <?php $variable['telefono'] = 935546234; $variable['direccion'] = " Calle falsa 123 "; $variable['dni'] = 546567483654; $variable['nombre'] = "Erik"; echo $variable['direccion'].'<p>'; echo $variable['dni']; ?> Como ves llamamos siempre a la misma variable, pero al usar esto, nos dara dos impresiones distintas, la primera es la direccion , e imprimira el texto Calle falsa 123, y la segunda el DNI, por cierto, es falso, asi con la misma variable se pueden imprimir diferentes datos. En el proximo tema estate atento, comenzamos a interactuar con nuestra base de datos MySQL.

23

CURSOPHP|

loko.erik_69@hotmail.com

BasesdeDatos
Comencemos
Seguro que ya lo estabas esperando, ahora lo que haremos sera interactuar con una base de datos MySQL y ver las diferentes funciones que tiene PHP para insertar, seleccionar, actualizar y borrar datos de ella.

Creando nuestra primera base de datos


Vamos a hacer nuestra primera base de datos, la llamaremos estudiophp, os voy a explicar como la hacemos, bueno pues si ya tienes instalado el phpMyAdmin, dirigete a http://localhost/phpmyadmin y veras que en el frame derecho te sale un unico campo de texto, los demas son de select , en el campo de texto pones estudiophp y le das a crear , dos campos mas a la derecha, y como ves ya tenemos nuestra base de datos. Nos dira aadir tablas a nuestra base de datos. Crearemos una tabla llamada usuarios con 3 campos. Una vez hecho esto, nos llevara a un formulario bastante largo. En donde pone campo, los 3 campos que hay pones en uno nombre , en otro apellido y en el otro email. Despues en tipo pones VARCHAR, y debajo de varchar, en el campo de texto pones 255. Lo de predeterminado lo dejamos tal y como esta. Y en cotejamiento ponemos latin1_general_ci . Lo demas como esta, y despues abajo clikamos en el boton que dice " Grabar". Despues nos saldra como si un mensajito que dice no has grabado ningun indice. Si vas mas para abajo, te saldra grabar un indice, clickas, y te dira nombre para el indice le pones ID, y en el select que hay al lado pones primary. Debajo en el select seleccionas la opcion nombre[varchar255] algo asi. y de tamao un 3.

Conectar con la base de datos con PHP


24

CURSOPHP|

loko.erik_69@hotmail.com

Ahora vamos a hacer servir un simple codigo para conectar con nuestra base de datos. Os lo explicare que poner en cada sitio. Creamos un archivo llamado conexion.php <?php $conectar = mysql_connect("servidor", "usuario", "contrasea")or die("No se puede conectar"); mysql_select_db("nombredelabase", $conectar)or die("no se pudo seleccionar la base"); ?> Primero le decimos a una variable, que con la funcion mysql_connect se conecte a MySQL, donde servidor, si el que usas es interno, pon localhost, aunque en la mayoria de webhostings tambien lo ponen como localhost. Donde usuario si estas usando un servidor propio, pon root. Donde contrasea la que elegiste, si no elegiste ninguna, puedes hacerlo en phpmyadmin, la pestaa de privilegios, y despues cambias el config.inc.php y le pones la misma contrasea, bueno ya lo explicare en http://setratadeunblog.host22.com/ Seguimos, donde nombredelabase, en nuestro caso pondremos estudiophp. Fijate, que usamos el or die , para decir que si falla en la conexion nos salga un mensaje de error, con lo que le podria ocurrir.

Insertar datos en una tabla desde PHP


Para insertar datos en una tabla PHP, lo que hacemos es usar la funcion insert . Vamos a probar esto con un formulario. <form name="altausuarios" method="post" action="procesaralta.php"> Tu nombre:<br> <input type="text" name="nombre" maxlength="100"><p> Tu apellido:<br> <input type="text" name="apellido" maxlength="100"><p> Tu E-Mail:<br> <input type="text" name="email" maxlength="150"><p> <input type="submit" value="Dar de alta"> </form> Ahora lo que procesa el formulario procesaralta.php: <?php require("conexion.php"); $nombre = $_POST['nombre']; $apellido = $_POST['apellido']; $email = $_POST['email']; mysql_query("INSERT into usuarios(nombre, apellido, email) values ('$nombre','$apellido','$email')", $conectar)or die("fallo al insertar"); 25

CURSOPHP|

loko.erik_69@hotmail.com

echo "Si ve esto, es que todo salio bien."; ?> A explicar toca. Primero lo que hacemos, es coger el archivo de conexion, y con la funcion require lo vinculamos a la secuencia, es como si estubiera aqui el codigo. Lo de poner la conexion a parte, sirve para no tener que estar escribiendo todo el rato los datos. Despues, cogemos los datos del formulario para insertarlos en la base de datos. Y por ultimo hacemos el insert con la funcion mysql_query. Lo que dice es que inserte en usuarios , en los campos de la tabla usuarios de la base de datos nombre, apellido y email, los datos del formulario $nombre $apellido y $email, y despues, le pones los datos de conexion con la variable $conectar. Y si ya salio todo bien, nos lanza un mensaje con el echo. Esto es muy util para hacer sistemas de registro de usuarios, estoy seguro, que si haces este curso, eres capaz de hacer uno.

Seleccionar datos de una tabla


Se pueden seleccionar datos de una tabla, y mostrarlos en el servidor, para eso hacemos algo parecido que el insert . <?php //datos de conexion require("conexion.php"); $select = mysql_query('select nombre, apellido, email from usuarios', $conectar)or die(mysql_error()); while($sel = mysql_fetch_array($select)){ echo "Nombre:".$sel['nombre']."<br>"; echo "Apellido:".$sel['apellido']."<br>"; echo "E-Mail:".$sel['email'].""; } ?> Asi mostraremos los datos que hemos insertado antes.

Actualizar datos de una tabla


Tambien se pueden actualizar los datos de una tabla, es muy simple, se usa el UPDATE .

26

CURSOPHP|

loko.erik_69@hotmail.com

<form name="cambiardatos" method="post" action="cambiardatos.php"> Nombre viejo:<br> <input type="text" name="nombreviejo" maxlength="100"><p> Apellido viejo:<br> <input type="text" name="apellidoviejo" maxlength="100"><p> E-Mail viejo:<br> <input type="text" name="emailviejo" maxlength="150"><p> Nombre nuevo:<br> <input type="text" name="nombrenuevo" maxlength="100"><p> Apellido nuevo:<br> <input type="text" name="apellidonuevo" maxlength="100"><p> E-Mail nuevo:<br> <input type="text" name="emailnuevo" maxlength="150"><p> <input type="submit" value="Actualizar datos"> </form> Y ahora lo que actualiza cambiardatos.php <?php //aadimos el archivo de conexion require("conexion.php"); //procesamos datos de formulario $nombreviejo = $_POST['nombreviejo']; $apellidoviejo = $_POST['apellidoviejo']; $emailviejo = $_POST['emailviejo']; $nombrenuevo = $_POST['nombrenuevo']; $apellidonuevo = $_POST['apellidonuevo']; $emailnuevo = $_POST['emailnuevo']; $actualizar = mysql_query("update usuarios set nombre = '$nombrenuevo', apellido = '$apellidonuevo', email = '$emailnuevo' where nombre = '$nombreviejo'", $conectar)or die(mysql_error()); echo "Si ves esto es que funciono"; ?>

Borrar datos de una tabla


Tambien pudes borrar los datos de una tabla, como para dar de baja a alguien. Se usa DELETE y se usa como los otros que vimos. Vamos a hacer el formulario. <form name="borrardatos" method="post" action="borrardatos.php"> Nombre:<br> <input type="text" name="nombre" maxlength="100"><p> Apellido:<br> <input type="text" name="apellido" maxlength="100"><p> E-Mail:<br> <input type="text" name="email" maxlength="150"><p> <input type="submit" value="Borrar datos"> </form> 27

CURSOPHP|

loko.erik_69@hotmail.com

Y ahora haremos el archivo PHP borrardatos.php <?php //archivo de conexion require("conexion.php"); //recogemos datos de formulario $nombre = $_POST['nombre']; $apellido = $_POST['apellido']; $email = $_POST['email']; //hacemos la consulta con delete $borrar = mysql_query("delete from usuarios where nombre = '$nombre'", $conectar)or die("No se borraron los archivos: ".mysql_error()); echo "Si ves esto es que se han borrado los datos :)"; ?> Ves esto es facil. Sigue estudiando MySQL, ya que este es un curso basico, pasamos a subir archivos en el servidor.

28

CURSOPHP|

loko.erik_69@hotmail.com

Manejodeficherosenel servidor
Subir archivos al servidor
Tambien se pueden subir archivos a un servidor, si tu servidor es de ilimitado espacio, puedes hacer un hosting de imagenes, o un hosting de archivos, o un foro que se puedan poner archivos adjuntos. Para subir archivos al servidor usamos este codigo: Comenzamos haciendo un formulario de subida. <form name="subirarchivos" method="post" action="uploadarchivo.php" enctype="multipart/form-data"> Fichero a subir:<br> <input type="file" name="archivo"><p> <input type="submit" value="Subir imagen"> </form> Y despues el archivo uploadarchivo.php que hara que se guarde el archivo en nuestro servidor. <?php copy($_FILES['archivo']['tmp_name'],$_FILES['archivo']['name']); echo "Archivo cargado"; ?> Ahora si queremos mostrarlo le aadimos un codigo mas al que procesa el archivo: <?php copy($_FILES['archivo']['tmp_name'],$_FILES['archivo']['name']); echo "Archivo cargado"; $imagen = $_FILES['archivo']['name']; echo "<p>Tu imagen es esta?<br><img src=\"$imagen\"><p>Te gusta eh?"; ?> Bueno, ahora aprenderemos a redireccionar a otra pagina.

29

CURSOPHP|

loko.erik_69@hotmail.com

Redireccionamiento
La funcion header
Cuando queremos que una pagina se redireccione a otra en PHP, utilizamos una funcion muy conocida y util. Imaginate, que tienes un formulario de identificacion de usuarios, y quieres que cuando rellenen el formulario de logueo, en vez de ir al archivo que procesa el login, que vaya pero que nada mas entrar te redireccione al indice de la web. No se si me explique bien, por eso es mejor que te lo explique en codigo que me suelto mas. Vamos a crear un formulario cualquiera. Este se llamara cualquiera.php <form name="funcionheader" method="post" action="header.php"> Tu nombre:<br> <input type="text" name="nombre"><p> <input type="submit" value="enviar"> </form> Como ves es muy simple. Ahora crearemos el esperado archivo header.php <?php header("Location: cualquiera.php"); ?> Si pruebas a poner estos dos codigos siempre que envies el formulario te llevara otra vez al formulario. Ahora ya empezamos con las COOKIES algo dificilillo. Pero tu seguro que lo entiendes a la primera. Hecho y escrito por desarrollo, desarrollo95, fcdragons, loko.erik o lokerik somos todos el mismo :)

30

CURSOPHP|

loko.erik_69@hotmail.com

Cookies
Que son las cookies
Las cookies son pequeos archivos de texto, que nuestro servidor almacena en el disco duro de nuestros visitantes, y en el cual se guarda una informacion que sire que para cuando vuelvan la cookie siga estando viva.

Crear Cookies
Una cookie se crea con la funcion setcookie. Esta funcion se usa de la manera: <?php setcookie("Hola"); //creamos la cookie ?> Como ves hemos usado la funcion setcookie esta funcion tiene muchos parametros. Puedes ponerle un valor a la cookie, seria asi: <?php setcookie("registros", "1"); //creamos la cookie con valor ?> Ahi le hemos puesto un valor de 1 tambien se puede usar texto <?php setcookie("Algo", "hola"); ?> Tambien le podemos poner tiempo de vida, cuanto tiempo estara viva la cookie, se tiene que poner en segundos, por ejemplo una cookie que dure 1 semana: <?php // le ponemos a la cookie un tiempo de 1 semana setcookie("registros", "1", time() + 7 * 86400); //usams la funcion time() // 86400segundos = 24 horas = 1 dia * 7 = 1 semana ?> Como ves hemos usado la funcion time(), y despues hemos multiplicado 7 por los segundos de 1 dia. Aqui tienes informacion util:

31

CURSOPHP|

loko.erik_69@hotmail.com

1 1 1 1 1 1 1 1

hora = 3600 segundos dia = 86400 segundos semana = 604800 segundos mes de 28 dias = 2419200 mes de 29 dias = 2505600 mes de 30 dias = 2592000 mes de 31 dias = 2678400 ao = 31536000 segundos

segundos segundos segundos segundos

Si no, siempre existe la calculadora de Linux, Mac, o Windows(el de mi amigo Bill) jejej. No son solo esos los parametros disponibles que se le puden poner a una cookie, existe path, que te dice el directorio actual, y uno que solo usa 0(false) y 1(true), este parametro dice que la cookie solo puede ser creada si existe una conexion segura entre el visitante y el servidor.

Lectura de cookies
Sabias que cookie en ingles significa galleta? Bueno, a lo que vamos, si quieres leer una cookie, se puede usar nuestro mejor amigo en PHP, el echo. Ya se le echaba de menos. <?php echo $_COOKIE['Algo']; ?> Asi nos mostraria la cookie que habiamos creado anteriormente.

Borrado
Como que te deshaces de ella, si tan solo era una chavala, bueno, sin tonterias, para borrar una cookie tan solo hay que crear una con su mismo nombre que la reemplace y sin parametros. <?php setcookie("Algo"); ?>

32

CURSOPHP|

loko.erik_69@hotmail.com

Llegoelfinal
Este ya es el final del minicursillo, espero que hayas aprendido mucho, y que si no os han gustado los chistes que hacia por entre medio del curso, no me guardeis rencor :) somos amigos no? Bueno, yo creo que con este cursillo te podras manejar por el mundo de PHP. Si quieres saber mas, puedes visitar mi blog, aunque hoy, Martes 04 de Agosto de 2009, esta un poquillo vacio de entradas, es casi nuevo, y como necesito publicidad, hago este curso para que lo conozcan. Larga vida a Xubuntu :) Hecho por desarrollo95, desarrollo, fcdragons, lokerik o loko.erik, en cada foro es diferente. :) si quereis mi email, agregadme en: loko.erik_69@hotmail.com Gracias a todos. Esto ha sido todo ;) Espero que hayas aprendido un huevo y parte del otro :)

33

También podría gustarte