Jugando con los Datos

Para poder jugar con la información de una base de datos es imprescindible primero conectar con ella. Con jugar con la información me refiero a mostrar, insertar, crear, modificar o eliminar datos. Nosotros tenemos ya preparados los datos en la variable post que vimos, pero antes de insertar esos datos en la base de datos necesitamos conectar con ella.

Los datos de conexión los tenemos ya y si me has hecho caso, los tendrás a mano escritos en algún papelito por tu mesa. Si no es así, te los recuerdo:

Nombre de la base de datos: cartago_basedepruebas
Nombre de usuario de la base de datos: cartago_pepe
Contraseña: noteladigo
Host: localhost

En tu caso, en lugar de cartago tendrás que poner tu nombre de usuario del Cpanel tal y como te dije, además de tu propia contraseña, claro.

Lás líneas de código Php que has de poner para abrir la conexión con esa base de datos son estas (en adelante coloreo de gris aquellas líneas que no son más que comentarios aclaratorios, oki? Para distinguirlo del resto de código php):

<?php
// Rellena los espacios ente comillas de abajo con los datos que te da
// el servidor al activar la base de datos.
// Este dato de abajo suele ser localhost casi siempre:

$server="localhost";

// Aqui abajo escribe el nombre de la base de datos.
// Si tu servidor tiene cpanel normalmente va primero tu nombre de username,
// por ejemplo: username_nombredelabasededatos

$database = "cartago_basedepruebas";

// Aqui abajo el nombre de username de la base de datos para acceder a ella.
$db_user = "cartago_pepito";

// Y ahora la contraseña:
$db_pass = "esunsecreto";
?>

Las líneas de código realmente importantes son solo las que no llevan el símbolo // delante, pues esas son simples comentarios que si quieres puedes mantener (te lo recomiendo) para recordar para que sirve cada una de ellas. Realmente son solo cuatro las lineas importantes y en ellas se guardan en variables los datos de conexión.

Podrías pensar que es un poco arriesgado dejar guardados los datos de la base de datos, con la contraseña y todo, en un archivo colgado en internet, pero como es código Php no hay riesgo alguno. Por qué?

Si recuerdas lo que te comentaba al principio de hablarte del Php, es un código que solo lee el servidor de forma que, como no tenemos ningún echo en estas líneas, el resultado de todo este código en un navegador será nada, cero, ninguno. Esos datos son leidos por el servidor, pero es imposible que cualquier usuario pueda leerlos, así que tranquilo.

Para no tener que escribir esas líneas cada vez que queramos abrir la conexión a la base de datos lo que haremos es guardar todo ese código en un archivo que llamaremos config.php y al que llamaremos cada vez que queramos abrir la base de datos (ya te digo cómo).

Abre por tanto tu block de notas, escribe todo ese código dentro, cambia los valores por los tuyos (la contraseña y la palabra cartago por tu nombre de usuario en el Cpanel) y guarda el archivo con la extensión .php en la raiz de la carpeta en la que estés haciendo este ejemplo, vale? Ahora crea otro archivo más, también con extensión .php llamado insertardatosentabla.php

Como ese archivo es Php puedes ya escribir sus etiquetas de apertura y cierre. Ya dijimos que las páginas Html empezaban con la etiqueta <html> y terminaban con </html> y que en cambio los archivos Php empezaban con <?php y terminaban con ?> así que escribe eso dentro y guarda los cambios.

En este archivo llamado insertardatosentabla.php escribiremos el código Php necesario para incluir los datos guardados en la variable post dentro de la base de datos de ejemplo. Como adivinarás, lo primero es conectar con la base de datos.

Para ello deberíamos escribir el código Php que habíamos guardado en el archivo config.php pero como lo tenemos en aquél archivo, basta con indicar que añada todo su contenido en esta otra página. Esto se hace muy rapidamente usando la palabra mágica include tal y como te muestro abajo:

<?php include("config.php") ; ?>

Con esto el servidor leerá el contenido de config.php cuando vea la línea del include y de este modo nos ahorramos escribir ese código cada dos por tres. Una vez que lo ha leido ya conoce las claves para la conexión. Ahora le indicamos que conecte con estas otras líneas:

<?php
// leer datos de usuario y contraseña de la base de datos
include("config.php") ;

// Conexión con el servidor
mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());

// Selección de Base de Datos
mysql_select_db($database) or die ("error2".mysql_error());
?>

Los comentarios (las he diferenciado con otro tono de color arriba), es decir, las líneas que empiezan por // hablan por si solas, no? La primera nueva línea conecta con el servidor y la segunda con la base de datos.

Si por algún motivo falla la conexión con el servidor, se mostrará en el navegador el mensaje "error1" y se deberá seguramente a haber puesto mal el nombre del servidor, de usuario o la contraseña en el archivo config.php

Si lo que falla es la selección de la base de datos, aparecerá en la pantalla "error2" y será seguramente por haber escrito mal el nombre de la base de datos en el archivo config.php

Si no aparece ninguno de esos mensajes será que todo ha ido como esperabamos, aunque no lo notaremos por el momento. Lo importante será saber que la conexión está hecha!!!

Solo nos queda indicar al servidor mediante el código Php que inserte los datos guardados en POST en la tabla USUARIOS. Esto se hace con esta sencilla línea de código:

mysql_query (" INSERT INTO base.tabla (nombre de los campos) values (datos correspondientes) ");

que en nuestro caso tomaría la forma siguiente:

mysql_query ("INSERT INTO `cartago_basedepruebas`.`USUARIOS` (`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST[NOMBRE]', '$_POST[EMAIL]', '$_POST[URL]', '$_POST[ESTADO]') ");

En esa línea no hay nada raro, no? Se pone el nombre de tu base de datos, un punto, el nombre de la tabla y luego dentro del primer paréntesis el nombre de los campos y dentro del segundo paréntesis las palabras mágicas $_POST[nombre de campo], una para cada campo que rescatamos del formulario.

Pues con eso queda guardada la información del formulario en nuesta base de datos. Qué tal? Te ha parecido muy complicado? Imagino que no. Quizás muy diferente a trabajar con Html, no? Pero te aseguro que hace tres días no sabia nada de Php, bases de datos ni de formularios y mira, aquí estoy explicándote cómo se usan, je je. Es cierto, tras unos cuantos ejemplos y testeos se me ha quedado bien grabado en la cabeza, no es muy dificil.

Aún se pueden hacer miles de cosas con los valores guardados en la base de datos. Solo necesitamos aprender un poco más y podremos crear nuestros propios foros, sistemas de mensajes, de noticias, hacer más dinámicas nuestras webs dotándolas de registro de usuarios, etc, etc, etc. Pero sigamos poco a poco, je je je.