cursophp desde cero

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.

Upload: jesus-antonio-rosales-aguero

Post on 15-Feb-2015

35 views

Category:

Documents


8 download

TRANSCRIPT

Desarrollo web con PHP y MySQL

http://setratadeunblog.host22.comPor 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.

Índice1 Pequeña introduccion..............................................................................................  32 Antes de empezar – Instalacion de un servidor.......................................................  43 El principio con Hola Mundo..................................................................................  54 Comentarios............................................................................................................  85 Procesar variables de formulario.............................................................................  96 Declarar y utilizar constantes..................................................................................  117 Utilizar operadores..................................................................................................  128 Comenzamos a utilizar las funciones......................................................................  169 El if, el else, y elseif................................................................................................  1710 for y while. Introduccion.........................................................................................  1911 Jugando con archivos..............................................................................................  2112 Vectores...................................................................................................................  2313 Bases de Datos......................................................................................................... 2414 Manejo de ficheros en el servidor...........................................................................  2915 Redireccionamiento.................................................................................................  3016 Cookies....................................................................................................................  3117 Llego el final...........................................................................................................  33

CURSO PHP |[email protected]

2

Pequeña introduccion

PHP¿Que es PHP? PHP es un lenguaje de secuencia de comandos de servidor diseñado 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 español, Pagina de Inicio Personal, pero eso era antes, ahora es PHP: Hypertext Preprocessor, en español, 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 Español, 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 español es, Mi Lenguaje de Consulta Estructurado.

¿Cual es su pagina oficial? http://dev.mysql.com/

CURSO PHP |[email protected]

3

Antes de empezar – Instalacion de un servidorInstalando 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-php5Este comando le instalara PHP + Apache

apt-get install mysql-server mysql-client php5-mysqlEste le instalara MySQL

apt-get install phpmyadminEste le instalara phpMyAdmin

Ahora, si quiere usar PHPmyAdmin con Apache, editas el archivo situado en /etc/apache2/apache2.conf y le añades 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

CURSO PHP |[email protected]

4

El principio con Hola Mundo

Aplicación Hola MundoAlomejor 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:

<?phpecho “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 variablesEl 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 dólar ($), 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:

CURSO PHP |[email protected]

5

<?phpecho ”Hola ”;echo “Mundo”;?>

Y ahora esto:

<?phpecho “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>

<?phpecho “Hola”;echo “<br>”;echo “Mundo”;?>

Asi se mostraria lo siguiente:

HolaMundo

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.

CURSO PHP |[email protected]

6

Las variables de tipo string contienen una serie de caracteresLas variables de tipo integer contienen un numero entero (0,1,2,3,4,5,6,7,8,9,10)Las variables de tipo double contiene numeros decimales(1,2 2,3 4,5)Las variables de tipo boolean es para definir verdadero(true) o falso(false)

Un pequeño 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 cumpleaños es el dia ”;echo $cumple;echo “Resultado en el navegador: Mi cumpleaños 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”;?>

CURSO PHP |[email protected]

7

ComentariosTipos 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:

<?phpecho “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:

<?phpecho “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.

CURSO PHP |[email protected]

8

Procesar variables de 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 aplicación en PHP que procese el formulario, y lo haremos de una forma muy sencilla. Este es el archivo procesarpedidos.php

<?php//le damos el nombre del campo del formulario cantlavadoras$cantlavadoras = $_POST['cantlavadoras']; $cantneveras = $_POST['cantneveras']; //lo mismo que en el de arriba en esteecho “Ha pedido ”; //imprimimos ahora tan solo textoecho $cantlavadoras; //Ahora es cuando imprimimos la cantidad que pusoecho “ lavadoras y “; //Texto otra vezecho $cantneveras; //Aqui volvemos a imprimir la cantidad que pusoecho “ neveras”; //otra vez texto?>Si pruebas a ponerlo, te tiene que salir los siguiente en el navegador

CURSO PHP |[email protected]

9

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 arribaecho '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

CURSO PHP |[email protected]

10

Declarar y utilizar 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:

<?phpdefine('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.

<?phpecho 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 dólar. Debes saber que PHP tiene muchas constantes propias aparte de las que nosotros definimos.

CURSO PHP |[email protected]

11

Utilizar operadores

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:

CURSO PHP |[email protected]

12

<?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 <?php$a += 5; ____ $a = $a + 5;echo $a; ____ echo $a;?> ?>

Con esto tan solo nos muestra un 5, pero que pasaria con este:

<?php$a = 5;$a += 5;echo $a;?>

CURSO PHP |[email protected]

13

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 Uso+= $a = $a + $b $a += $b-= $a = $a - $b $a -= $b*= $a = $a * $b $a *= $b/= $a = $a / $b $a /= $b%= $a = $a % $b $a %= $b.= $a = $a . $b $a .= $b

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 comparacionEstos operadores comparan dos valores. Estos son como los valores boolean y usan true o false según 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).

CURSO PHP |[email protected]

14

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 Uso== Igual $variable == $var=== Identico $variable === $var!= Distinto $variable != $var!== Distinto $variable !== $var<> Distinto $variable <> $var> Mayor que $variable > $var< Menor que $variable < $var>= Mayor o igual que $variable >= $var<= Menor o igual que $variable <= $var

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

Operadores lógicos

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 Uso Nombre Resultado! !$variable NOT devuelve verdadero(true)  si $var es falso y viceversa.

|| $variable || $var OR da verdadero si $variable o $var o ambas son verdadero, si no da falso

or $variable or $var OR Lo mismo que || pero con menos prioridad

&& $variable && $var AND Devuelve verdadero si son ambas variables verdadero, si no devuelve falso

and $variable and $var AND Lo mismo que && pero con menos prioridad

CURSO PHP |[email protected]

15

Comenzamos a utilizar las 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?

CURSO PHP |[email protected]

16

El if, el else, y elseifForma 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.

CURSO PHP |[email protected]

17

<?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.

CURSO PHP |[email protected]

18

for y while. IntroduccionComencemos

Esto se utiliza para repetir, no repetir la sopa, si no repetir datos de PHP, por ejemplo:

<?phpfor($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.

<?phpfor($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:

<?phpwhile ( $variable <= 10) {echo "Contamos $variable <br>";$variable++;}?>

Hay se nos repetiria, prueba esto:

CURSO PHP |[email protected]

19

<?php$variable = rand(1,10);while ( $cuenta <= 10) {echo "Contamos $variable <br>";$variable++;}?>

Esto hace que puede empezar desde un numero aleatorio.

CURSO PHP |[email protected]

20

Jugando con archivosExplicacion

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 añadan mas datos. Despues le añadimos 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:

CURSO PHP |[email protected]

21

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

Si no se puede crear el archivo imprime el error que hay entre las comillas.

Se puede guardar en cualquier formato, y hacer un generador de scripts vbs, o se puede guardar incluso en .ini

Mostrar el contenido del archivoTambien podemos mostrar en nuestra web, los archivos, seria de la siguiente manera.

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

CURSO PHP |[email protected]

22

VectoresVectores 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.

CURSO PHP |[email protected]

23

Bases de DatosComencemos

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 añadir 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 tamaño un 3.

Conectar con la base de datos con PHP

CURSO PHP |[email protected]

24

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", "contraseña")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 contraseña la que elegiste, si no elegiste ninguna, puedes hacerlo en phpmyadmin, la pestaña de privilegios, y despues cambias el config.inc.php y le pones la misma contraseña, 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:<?phprequire("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");

CURSO PHP |[email protected]

25

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 conexionrequire("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.

CURSO PHP |[email protected]

26

<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//añadimos el archivo de conexionrequire("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>

CURSO PHP |[email protected]

27

Y ahora haremos el archivo PHP borrardatos.php

<?php//archivo de conexionrequire("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.

CURSO PHP |[email protected]

28

Manejo de ficheros en el servidor

Subir archivos al servidorTambien 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.

<?phpcopy($_FILES['archivo']['tmp_name'],$_FILES['archivo']['name']);echo "Archivo cargado";?>

Ahora si queremos mostrarlo le añadimos un codigo mas al que procesa el archivo:

<?phpcopy($_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.

CURSO PHP |[email protected]

29

RedireccionamientoLa funcion headerCuando 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

<?phpheader("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 :)

CURSO PHP |[email protected]

30

CookiesQue son las cookiesLas cookies son pequeños 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 CookiesUna cookie se crea con la funcion setcookie. Esta funcion se usa de la manera:

<?phpsetcookie("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:

<?phpsetcookie("registros", "1"); //creamos la cookie con valor?>

Ahi le hemos puesto un valor de 1 tambien se puede usar texto

<?phpsetcookie("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 semanasetcookie("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:

CURSO PHP |[email protected]

31

1 hora = 3600 segundos1 dia = 86400 segundos1 semana = 604800 segundos1 mes de 28 dias = 2419200 segundos1 mes de 29 dias = 2505600 segundos1 mes de 30 dias = 2592000 segundos1 mes de 31 dias = 2678400 segundos1 año = 31536000 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 cookiesSabias 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.

<?phpecho $_COOKIE['Algo'];?>

Asi nos mostraria la cookie que habiamos creado anteriormente.

BorradoComo 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.

<?phpsetcookie("Algo");?>

CURSO PHP |[email protected]

32

Llego el finalEste 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:[email protected]

Gracias a todos. Esto ha sido todo ;) Espero que hayas aprendido un huevo y parte del otro :)

CURSO PHP |[email protected]

33