Conectar flash a MySql mediante PHP

Si lo deseas, puedes descargarte el archivo del ejemplo aquí.

Vamos a empezar creando una conexión con la base de datos en PHP, esto puede sonar un poco complicado si no lo has hecho nunca y de hecho te parecerá complicado hasta que no lo hayas hecho mecánicamente unas cuantas veces.
El hecho de crear una base de datos no creo que tenga que tratarlo aquí ya que es objeto de otro tutorial que podéis buscar por la red.

Para crear una conexión tenemos que hacer uso de dos funciones. Por un lado tenemos “mysql_connect(host,usuario,contraseña)” y por otro tenemos “mysql_select_db(base de datos,conexión)”.

Empecemos declarando unas cuantas variables para organizar mejor nuestro código. En php las variables se declaran anticipando el nombre de variable con un “$”, entonces tendremos el siguiente código:

$host = "localhost";
$usuario = "nombredeusuario";
$clave = "miclave";
$bbdd = "nombredelabasededatos";

Tenemos entonces que para declara una variable hemos escrito el nombre precedido de el carácter reservado “$”, seguido del símbolo igual “=” y una cadena de texto (por eso va entre comillas) con el valor que le hemos querido dar a la variable. Es importante que siempre termines con punto y coma “;” todas tus declaraciones.

Ahora es el momento de crear la conexión a la base de datos, para ello usamos la función mysql_connect(), el cual tiene tres argumentos:

Argumento host: Aquí tiene que ir el host donde está la base de datos. Para entender el concepto de conectar con el host vamos a poner un ejemplo.

Imagina que los programas que comprenden un servidor son varios, como si de módulos se trataran

APACHE – INTERPRETE PHP – BASE DE DATOS MYSQL

cada modulo se trata de un programa distinto, y desde el interprete de php puedes conectarte a la base de datos de la misma máquina. Una máquina puede reconocerse a si misma mediante la palabra “localhost” o mediante la IP “127.0.0.1”, de este modo para conectar a la base de datos de la misma maquina usamos o localhost o 127.0.0.1. Si quisiéramos conectar nuestro interprete de php a una base de datos de otro ordenador simplemente tendríamos que configurar la variable con la IP de dicha máquina.

Argumento usuario: Aquí tiene que ir el nombre de usuario de la base de datos. Estos datos tiene que facilitártelos el administrador de tu alojamiento (al igual que el host, la contraseña y el nombre de la base de datos)

Argumento contraseña: Aquí tiene que ir la contraseña para conectar con la base de datos.

Entonces ahora vamos a definir una variable como nuestra conexión para luego poderla utilizar con mysql_select_db().

$conexion = mysql_connect($host,$user,$pass);

Si todo está bien no nos dará ningún error y ya habremos creado una conexión con nuestra base de datos.

Ahora es el momento de seleccionar la base de datos y asociarla a la conexión que hemos creado. Para ello simplemente usamos la ya citada función mysql_select_db() del siguiente modo.

mysql_select_db($bbdd,$conexion);

$bbdd es una variable que hemos definido anteriormente la cual nos hace referencia al nombre de la base de datos que tenemos en nuestro alojamiento.

La variable $conexión es una referencia a la conexión que hemos creado anteriormente.

Es en estos momentos en los que ya tenemos preparado nuestro archivo para guardar los datos.

Intentaré simplificar al máximo esto para hacerlo lo menos traumático posible jejejejeje... :P

El ejemplo que vamos a usar es un ejemplo muy sencillo que guardará una sola variable a la base de datos, vamos a llamar esta variable $campo1.

$campo1 = $_POST[campo1];

Definimos esta variable con una variable POST (*) que nos llega cuando es llamado el archivo desde flash. Flash tiene un array (matriz) con las variables que llegan vía POST (*) llamada $_POST, puedes acceder a ellos

(*): Normalmente se usan dos modos de transferir datos de un navegador a un servidor. GET y POST. La diferencia entre ambos es que una va en la URL y la otra va oculta. Cuando usamos GET estamos enviando los datos en la URL, es decir se manda los datos después de la dirección, por ejemplo: http://www.palaueb.com/datos.php?nombredevariable=valordelavariable Cuando usamos POST estamos enviando los datos de manera oculta (técnicamente no se como lo hacen los navegadores, si algún lector lo sabe y me lo dice actualizaré el tutorial).

Ahora viene lo “complicado”, crear la consulta a la base da datos.

$consulta = "INSERT INTO `flash2sql` (`CAMPO1`) VALUES ('$campo1')";

Para poder organizar un poco el trabajo he definido una variable llamada consulta y la he definido con el valor de la consulta sql. Si analizamos palabra a palabra lo que dice la consulta tenemos lo siguiente:

“INSERT” con un poco de inglés sabemos que eso significa inserta, en consecuencia eso le dice a MySQL que lo que vamos a hacer es insertar X valores en la base de datos.

“INTO `Flash2sql`” esto le dice al MySQL donde vamos a insertar los valores, es decir en el campo Flash2sql de la base de datos.

“(`CAMPO1`)” aquí le decimos los campos que vamos a introducir (si tuviéramos más campos los agregaríamos separados por comas “,” (por ejemplo (`CAMPO1`,`CAMPO2`,`CAMPO3`...) si miramos el ejemplo que hay para descargar veremos que hacemos un insert de 3 campos).

“VALUES” esto simplemente le indica al mysql que ahora vienen los valores que vamos a introducir a la base de datos.

“('$campo1')” esta variable es la que hemos definido hace un poco (la variable POST). Fíjate que es el mismo formato que los campos pero con comillas simples, eso es porque introducimos valores de cadena (vamos texto...). Si tuviéramos más valores pues sería ('$campo1','$campo2','$campo3'... ).

Bueno, una vez tenemos hecha la consulta vamos a pasarla al MySQL mediante la función mysql_query del siguiente modo:

mysql_query($consulta);

y una vez ha hecho la consulta pues imprimimos una variable diciendo que ha hecho bien la consulta.

echo "resultado=Insertado Correctamente!";

Realmente según vayáis aprendiendo o ... si ya sabéis php veréis que lo que os propongo aquí es muy sencillo y realmente básico.

Ahora vamos a por el Flash!

Si abrimos el ejemplo y miramos el código del primer fotograma veremos que hay una función llamada “guardar”, esta función es llamada desde el clip “mc guardar”. Si nos saltamos toda la parrafada de verificación que los datos sean correctos, llegaremos a un if(ok){...} que contiene el código que necesitamos:

oGuardar=new LoadVars();
oGuardar.campo1=campo1.text;
oGuardar.campo2=campo2.text;
oGuardar.campo3=campo3.text;
oGuardar.onLoad=function(){

//ACCIÓN A REALIZAR UNA VEZ GUARDADO.

}
oGuardar.sendAndLoad("save.php",oGuardar,"post");
Podemos separar este código en cuatro partes:
  • 1) oGuardar=new LoadVars();
    La primera parte es la creación del objeto LoadVars. Este objeto se usa para poder mandar o recibir datos del servidor. Para crear un objeto necesitamos declarar una variable como un nuevo objeto.

  • 2) oGuardar.variable=campo.text;
    La segunda parte es la declaración de variables (propiedades) dentro del objeto LoadVars que hemos creado. En este caso declaramos las variables con el valor de texto de los campos de entrada.

  • 3) oGuardar.onLoad=function(){ ... }
    Esta tercera parte es la declaración de una función la cual se ejecutará una vez se hayan cargado los datos. Este no es el tutorial para entrar en detalle sobre porque se ejecutará la función que metamos, ya que el onLoad es un manejador de eventos que se “activa” cuando se ha cargado el objeto LoadVars. El tema está que dentro de la función podemos poner el código que queramos que se ejecutará... y punto jejejejeje.

  • 4) oGuardar.sendAndLoad("save.php",oGuardar,"post");
    La cuarta y ultima parte es el envío del objeto LoadVars a la dirección especificada. Para tal efecto tenemos que llamar al método sendAndLoad del objeto que hemos creado a partir del LoadVars, a este método le vamos a asignar tres argumentos. El primero es la dirección donde se mandará la petición, el segundo argumento es el objeto que se manda, las propiedades del objeto son las que recogeremos desde el php y el ultimo argumento es el método de envío de las variables, en este caso POST (esto ya lo hemos tocado eh).

Si lo deseas, puedes descargarte el archivo del ejemplo aquí.

No hay comentarios: