PHP - MySQL - Crear el php para enviar los datos a mysql

Enviar los datos con PHP

Ya tenemos creado el formulario, que recogerá los datos de nuestros usuarios y la base de datos mysql, dónde se almacenarán dichos datos. Pero necesitamos un archivo intermedio que se encargue de recoger los datos del formulario, procesarlos y enviarlos a la base de datos para su almacenamiento, y aquí es cuando entra en escena PHP.

Recordemos que el nombre del archivo php se lo hemos indicado al formulario en su primera línea mediante action.

Código envio.php

<?php

 

$conexion=mysql_connect("servidor","usuario","clave")

or die("Problemas en la conexion");

mysql_select_db("base_de_datos",$conexion)

or die("Problemas en la selección de la base de datos");

mysql_query ("SET NAMES 'utf8'");

 

mysql_query("insert into clientes(nombre_titular,numero_pers,localidad,fecha_llegada,fecha_salida,recorrido,forma_pago,telefono,mail) values ('$_REQUEST[nombre_titular]','$_REQUEST[numero_pers]','$_REQUEST[localidad]','$_REQUEST[fecha_llegada]','$_REQUEST[fecha_salida]',$_REQUEST[recorrido],$_REQUEST[forma_pago],'$_REQUEST[telefono]','$_REQUEST[mail]')",

$conexion) or die("Problemas en el select".mysql_error());

 

mysql_close($conexion);

echo "Cuestionario enviado correctamente";

 

?>

 

Breve explicación:

$conexion=mysql_connect("servidor","usuario","clave")

or die("Problemas en la conexion");

Con este trozo declaramos la función mysql_connect, que será la encargada de conectar con la base de datos de tipo MySql. Seguidamente le indicamos el nombre del servidor al que debe conectarse, nuestro nombre de usuario y nuestra clave de acceso.

En caso de error en la llamada a la función, ejecutamos la instrucción seguida del operador or, en este caso con la función die, que detiene la ejecución del programa y nos muestra un mensaje en pantalla.

 

 

mysql_select_db("base_de_datos",$conexion)

or die("Problemas en la selección de la base de datos");

Ahora declaramos la función mysql_select_db, que será la encargada de seleccionar la base de datos en la que se van a guardar los datos, asique seguidamente le indicamos el nombre de nuestra base de datos y la referencia que retornó la función sql_connect.

 

 

mysql_query ("SET NAMES 'utf8'");

Con esta línea conseguimos que todos los datos se guarden con codificación utf8, evitando así posibles problemas con acentos o la ñ por ejemplo.

 

 

mysql_query("insert into clientes(nombre_titular,...,recorrido,...) values ('$_REQUEST[nombre_titular]',......,$_REQUEST[recorrido])",

$conexion) or die("Problemas en el select".mysql_error());

Función que insertará los datos en la base de datos. La podemos traducir como "inserta dentro de la tabla clientes", e indicamos los campos de la tabla a cargar. Seguidamente le decimos los valores a cargar en cada campo en el mismo orden mediante '$_REQUEST[nombre del campo]'.

Aqui hay que hacer dos distinciones:

  • Los campos de tipo varchar, char o text, como nombre_titular, localidad, etc, se encierran entre comillas simples: '$_REQUEST[nombre del campo]'.
  • Los campos de tipo select, como recorrido, no deberán llevar comillas: $_REQUEST[recorrido].

Podéis consultar los tipos de campos y sus diferencias en el Glosario de PHP.

Como en las demás funciones, si diese algún tipo de error, retornaria false esta función, por lo que se ejecutaría la instrucción posterior al or, es decir, la función die que mostrará el error generado por MySql llamando a la función mysql_error().

 

 

mysql_close($conexion);

echo "Cuestionario enviado correctamente";

Por último cerramos la conexión con la base de datos y mostramos un mensaje para indicar que los datos han sido enviados correctamente mediante el elemento echo.

 

Para comprobar que los datos se han guardado en la tabla correspondiente de nuestra base de datos, podemos abrir nuestro phpMyAdmin, seleccionar la base de datos "bd", luego la tabla "clientes" y en estructura deben aparecer dichos datos almacenados.

Y ya está, hemos aprendido a instalar un servidor local, crear bases de datos con sus tablas, y permitir que un usuario pueda almacenar mediante un formulario datos en ellas a través de un archivo php.