Crea tu propio Blog en php y mysql


La idea es aprender y/o repasar conceptos básicos de la programación web php a través de un ejemplo práctico. Con el transcurso de las semanas, aprenderemos temas fundamentales sobre desarrollo de software tales como:

  • creación de una base de datos Mysql
  • creación de una tabla Mysql y definición de su estructura (tipo de campos, propiedades especiales, etc)
  • conexión a la base de datos desde un script php
  • lectura y escritura de registros en una tabla de la base de datos
  • estructura de control (if, while, foreach)
  • manipulación de datos provenientes de un formularios en php
  • lectura y escritura de registros de sobre tabla de la base de datos,
  • variables de sessión y cookies


Necesitas hosting para un nuevo sitio? Buscas mejorar tu servicio actual?
Yo utilizo y te recomiendo InterServer, te brindan espacio en disco ilimitado y múltiples dominios por cuenta a sólo $5 usd mensual. >> Más detalles

Una vez que hayas aprendido estos conceptos, y ya tengas unos meses de práctica con los mismos, seguramente te interesará comenzar a trabajar utilizando algún framework php y programación orientada a objetos. Estas técnicas avanzadas nos ayudan a trabajar de manera más eficiente, ahorrando tiempo y esfuerzo en nuestros proyectos. Pero esto será para más adelante, primero es necesario aprender lo básico :-).

Nuestro primer paso será la creación de la base de datos Mysql, lugar donde almacenaremos toda la información vinculada a nuestro Blog (artículos, usuarios, comentarios, categorías en las cuales organizaremos nuestros artículos, etc).

Nuestro blog utiliza el servicio de Web Hosting de la empresa Solo10.com y allí contamos con el panel de control “Cpanel“. Esta herramienta nos permite crear la base de datos de manera sumamente sencilla. Cpanel ya viene instalado por defecto cuando contratas tu hosting.

Al ingresar dentro del panel de control Cpanel, tenemos la opción “Mysql Base de datos”. Y allí dentro la opción “Crear una nueva base de datos”.

crear base de datos mysql en hosting Cpanel

Ingresaremos el nombre “blog”, pero observemos que Cpanel le antepone el “username” de nuestro hosting (me refiero al “username” que nos asignó nuestro proveedor de hosting cuando contratamos el servicio).

En mi caso, el username es “igniter”. Por lo tanto, el nombre de nuestra base de datos Mysql del ejemplo es: “igniter_blog“.

Luego será necesario crear un usuario Mysql. Éste usuario nos servirá luego para conectar a la base de datos desde nuestro script php y poder leer y escribir artículos sobre la misma.

crear usuario mysql en hosting cpanel

Hasta aquí hemos creado la base de datos Mysql y un usuario Mysql. Pero esto no alcanza, es necesario “agregar” el usuario a la base de datos y configurarle sus permisos correspondientes.

agregar usuario a base de datos mysql en hosting cpanel

Aquí estamos agregando el usuario “igniter_usuario” dentro de la base de datos “igniter_blog”. Al presionar añadir nos aparecerá la siguiente pantalla:

permisos y privilegios para usuario Mysql en hosting Cpanel

Tildamos la opción “TODOS LOS PRIVILEGIOS“, presionamos Añadir y listo !, ya tenemos nuestro base de datos creada :-)

Luego crearemos nuestra primer tabla “Artículos“, en donde guardaremos el contenido y propiedades de los artículos de nuestro Blog.

Para crear la tabla utilizaremos la herramienta phpMyAdmin, también provista por nuestro proveedor de web hosting dentro de Cpanel.

Al abrir phpMyAdmin se encontrarán con el siguiente recuadro. En este caso estaremos creando una tabla mysql con nombre “Artículos” y que tendrá 6 campos (o columnas).

crear tabla mysql en hosting cpanel

Ahora definiremos el nombre de los campos y sus atributos correspondientes. Revisemos juntos como hacerlo,

  • Id: sería un número identificador de cada artículo (nuestro campo clave). Cada artículo tendrá su propio Identificador, por lo tanto necesitamos que éste campo sea valor único e irrepetible en la tabla de “Artículos”.Para lograr esta propiedad debemos configurar el campo como PRIMARY” y “AutoIncremental” cuya abreviación figura en phpMyAdmin como “A_I“. Con esta configuración, al ingresar un nuevo artículo, Mysql consultará el Id del último artículo ingresado, le adicionará el valor 1 y asignará éste resultado al nuevo artículo que estamos ingresando.definición campo clave y autoincremental en phpmyadmin para hosting cpanelDe esta manera, nunca habrá artículos repetidos. Todo esto es automático y sin necesidad que nosotros hagamos nada desde la programación :-).El número identificador será correlativo y entero, es decir: 1 , 2 , 3 …, en Mysql este tipo de campo se denomina “INT”.
  • Titulo: aquí guardaremos el título del artículo (formado por palabras), por lo tanto debe ser un campo de tipo texto. Los campos de tipo texto en Mysql se definen como “VARCHAR” y es necesario configurarle una cantidad máxima de caracteres permitidos. El límite máximo para asignar es 255 caracteres. En nuestro ejemplo, nos conformaremos con 200 caracteres.
  • Contenido: aquí guardaremos en contenido de nuestro artículo. Considerando que podría tratarse de muchos párrafos, necesitamos un tipo de campo más grande que VARCHAR y su límite de 255 caracteres. Para esto tenemos el tipo de campo “LONGTEXT“.
  • Autor: de características muy similares al campo “Titulo”. Más adelante aprenderemos cómo podríamos codificar esta tabla, para evitar redundancia sobre la base de datos, pero por ahora lo trabajaremos como un campo de texto.
  • Fecha publicación: las fechas se pueden trabajar con campos de tipo “DATE” y sus valores deben tener el siguiente formato:YYY-MM-DD (Year-Month-Day). Entonces por ejemplo, una entrada válida sería por ejemplo: 2011-03-17 (17 de Marzo de 2011).
  • Estado: aquí guardaremos el estado de nuestro artículo, que podría ser: en borrador, pendiente de aprobación, publicado, expirado, eliminado, etc. Le configuraremos tipo de datos “INT” porque codificaremos esta tabla de estados. Es decir, en el campo “Estado” guardaremos el número asociado a cada estado:
    • 1 si el estado es “En borrador”
    • 2 si es “Pendiente de aprobación”
    • 3 si es “Publicado”
    • etc

definicion de campos y estructura de una tabla mysql en phpmyadmin

Ya tenemos creada la base de datos y tabla mysql :-). La próxima semana revisaremos cómo conectar a la base de datos y subir artículos desde el script php.

Éxitos cuando pruebes este tutorial !! Y ya sabes…., deja un comentario si tienes dudas o inquietudes así las revisamos juntos :-)

Saludos!

 


Nota del autor: Busco programadores y diseñadores freelance para colaborarme con proyectos. Mostrame tus trabajos desarrollados, escribime!


Te agradaría derivar tu proyecto a un programador con años de experiencia?

Ing. Diego Angelini.
Autor de BlogdePHP.com
Programador Web Freelance






Porfolio de proyectos
  • http://www.eriksernavite.com Erik Serna Vite

    interesante, me gustaria saber como puedo hacer para que tenga un lugar donde escribir y poder insertar imagenes como word prees! saludos

  • Daniel

    Hola, muy buena explicacion, pero no encuentro el resto del articulo… te agradeceria si lo tienes me informes donde puedo leerlo… Saludo

  • fdsfd

    vale verga esto nisiquiera se asemeja a un blog a la verga este cuate….