|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando

--- PHP y MySQL en App Inventor 2 --

Volver al índice del tutorial de PHP y MySQL

____________________________

337.- PHP - MySQL - Web. Todo en un archivo.

- Vamos a insertar datos en una base de datos y luego podremos actualizar, borrar, ver,... esos datos. Lo haremos desde una página web.

- El resultado de esta nueva forma es el mismo que el del tutorial anterior: 335.- PHP MySQL Web, la diferencia es que en el anterior utilizamos 5 archivos:
(bd_principio.htm, bd_guardar.php, bd_borrar.php, bd_modificar.php, bd_consultar.php) y en este solo utilizamos un archivo para todo (bd_unida.php)

http://kio4.esy.es/bd_unida.php

 

- La base de datos tendrá estas referencias, que utilizaremos para comunicarnos con ella por PHP.

// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql.hostinger.es";

$db_name="u798509677_comun
";
$db_login="u798509677_juan
";
$db_pswd="contraseña";
$link = mysql_connect($db_host, $db_login, $db_pswd);

_________________________________________________

- Vamos a insertar, borrar y actualizar registro.

- En el ejemplo del tutorial anterior 335.- PHP MySQL Web, teníamos un archivo PHP para cada acción: (bd_guardar.php, bd_borrar.php, bd_modificar.php, bd_consultar.php)

- Además los código de órdenes a MySQL se encontraban en esos archivos:

mysql_query ("INSERT INTO personas (Nombre, Edad, Ciudad) VALUES ('$nombre','$edad','$ciudad')");

mysql_query ("DELETE FROM personas WHERE Nombre='$nombre'");

mysql_query ("UPDATE personas SET Edad='$edad', Ciudad='$ciudad' WHERE Nombre='$nombre'");

$hacer = mysql_query ("SELECT * FROM personas WHERE Nombre='$nombre' ");

....................................................................................................................................................

- Ahora crearemos un archivo bd_unida.php que contendrá el formulario y cada una de las órdenes anteriores.

_________________________________________________
1.- Gestión de la base en un solo archivo.

- Fíjate cómo distingimos los distintos botones, mediante submit1, submit2, submit3 y submit4.

bd_unida.php
<html>
<body>
<form name="test" method="post" action="bd_unida.php">
Nombre: <INPUT TYPE="text" NAME="nombre" value="<?php echo $nombre ?>"><br />
Edad: <input type="text" name="edad" value="<?php echo $edad ?>"><br />
Ciudad: <input type="text" name="ciudad" value="<?php echo $ciudad ?>"><br />
<INPUT TYPE="submit" name="submit1" value="Guardar">
<INPUT TYPE="submit" name="submit2" value="Borrar">
<INPUT TYPE="submit" name="submit3" value="Modificar">
<INPUT TYPE="submit" name="submit4" value="Ver">
</form>
</body>
</html>

<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com 
// http://kio4.com
error_reporting ( E_ALL  ^  E_NOTICE  ^  E_DEPRECATED );
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor $db_host="mysql.hostinger.es"; $db_name="u798509677_comun"; $db_login="u798509677_juan"; $db_pswd="contraseña"; $link = mysql_connect($db_host, $db_login, $db_pswd) or die(mysql_error()); // 2.- CONEXION A LA BASE DE DATOS mysql_select_db($db_name) or die(mysql_error()); /////////////////////////////// INSERTAR //////////////////////////////////// if(isset($_POST['submit1'])){ $nombre = $_POST['nombre']; $edad = $_POST['edad']; $ciudad = $_POST['ciudad']; $query="insert into personas (Nombre, Edad, Ciudad) values ('$nombre','$edad','$ciudad')"; $result = mysql_query($query); mysql_close($link); } /////////////////////////////// BORRAR //////////////////////////////////// if(isset($_POST['submit2'])){ $nombre = $_POST['nombre']; $query="delete from personas where Nombre='$nombre'"; $result = mysql_query($query); mysql_close($link); } ////////////////////////////// MODIFICAR ///////////////////////////////////// if(isset($_POST['submit3'])){ $nombre = $_POST['nombre']; $edad = $_POST['edad']; $ciudad = $_POST['ciudad']; $query="update personas set Edad='$edad', Ciudad='$ciudad' WHERE Nombre='$nombre'"; $result = mysql_query($query); mysql_close($link); } ////////////////////////////// CONSULTAR ///////////////////////////////////// if(isset($_POST['submit4'])){ $nombre = $_POST['nombre']; // RECOGIDA DE DATOS DEL FORMULARIO $nombre=$_POST['nombre']; // SELECCIÓN if ($nombre==''){ $hacer = mysql_query ("SELECT * FROM personas"); } else { $hacer = mysql_query ("SELECT * FROM personas WHERE Nombre='$nombre' "); }; /////////////////////////////////////////////////////////////////////////////// // En los casos que hay SELECT y se debe enviar una respuesta actúa este código $resultado = mysql_query("SHOW COLUMNS FROM personas"); $numerodefilas = mysql_num_rows($resultado); if ($numerodefilas > 0) { while ($rowr = mysql_fetch_row($hacer)) { for ($j=0;$j<$numerodefilas;$j++) { $en_csv .= $rowr[$j].", "; } $en_csv .= "\n<br>"; } } print $en_csv; mysql_close($link); } /////////////////////////////////////////////////////////////////// ?>

- Un código parecido a este utilizaremos más adelante en App inventor y MySQL.

__________________________________
__________________________________
2.- Seguridad.

- El código PHP se realiza en el servidor web, es decir en el hosting, de tal manera que el usuario no lo ve. Consulta el código fuente de las páginas que llevan PHP, observarás que no traen el código.

- Sin embargo es una buena práctica poner los datos de autentificación de la Base de datos en otro archivo y luego incluirlo en el archivo .php principal.

- El efecto es el mismo:

http://kio4.esy.es/bd_unida_2.php

- Es decir, creamos el archivo bd_autentifica.php

bd_autentifica.php
<?php
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql.hostinger.es"; $db_name="u798509677_comun"; $db_login="u798509677_juan"; $db_pswd="contraseña"; ?>

- Luego incluimos ese archivo en el código:
require_once('bd_autentifica.php');

bd_unida_2.php
<html>
<body>
<form name="test" method="post" action="bd_unida_2.php">
Nombre: <INPUT TYPE="text" NAME="nombre" value="<?php echo $nombre ?>"><br />
Edad: <input type="text" name="edad" value="<?php echo $edad ?>"><br />
Ciudad: <input type="text" name="ciudad" value="<?php echo $ciudad ?>"><br />
<INPUT TYPE="submit" name="submit1" value="Guardar">
<INPUT TYPE="submit" name="submit2" value="Borrar">
<INPUT TYPE="submit" name="submit3" value="Modificar">
<INPUT TYPE="submit" name="submit4" value="Ver">
</form>
</body>
</html>

<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com 
// http://kio4.com

error_reporting ( E_ALL  ^  E_NOTICE  ^  E_DEPRECATED ); // 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor require_once('bd_autentifica.php'); $link = mysql_connect($db_host, $db_login, $db_pswd) or die(mysql_error()); // 2.- CONEXION A LA BASE DE DATOS mysql_select_db($db_name) or die(mysql_error()); /////////////////////////////// INSERTAR //////////////////////////////////// if(isset($_POST['submit1'])){ $nombre = $_POST['nombre']; $edad = $_POST['edad']; $ciudad = $_POST['ciudad']; $query="insert into personas (Nombre, Edad, Ciudad) values ('$nombre','$edad','$ciudad')"; $result = mysql_query($query); mysql_close($link); } /////////////////////////////// BORRAR //////////////////////////////////// if(isset($_POST['submit2'])){ $nombre = $_POST['nombre']; $query="delete from personas where Nombre='$nombre'"; $result = mysql_query($query); mysql_close($link); } ////////////////////////////// MODIFICAR ///////////////////////////////////// if(isset($_POST['submit3'])){ $nombre = $_POST['nombre']; $edad = $_POST['edad']; $ciudad = $_POST['ciudad']; $query="update personas set Edad='$edad', Ciudad='$ciudad' WHERE Nombre='$nombre'"; $result = mysql_query($query); mysql_close($link); } ////////////////////////////// CONSULTAR ///////////////////////////////////// if(isset($_POST['submit4'])){ $nombre = $_POST['nombre']; // RECOGIDA DE DATOS DEL FORMULARIO $nombre=$_POST['nombre']; // SELECCIÓN if ($nombre==''){ $hacer = mysql_query ("SELECT * FROM personas"); } else { $hacer = mysql_query ("SELECT * FROM personas WHERE Nombre='$nombre' "); }; /////////////////////////////////////////////////////////////////////////////// // En los casos que hay SELECT y se debe enviar una respuesta actúa este código $resultado = mysql_query("SHOW COLUMNS FROM personas"); $numerodefilas = mysql_num_rows($resultado); if ($numerodefilas > 0) { while ($rowr = mysql_fetch_row($hacer)) { for ($j=0;$j<$numerodefilas;$j++) { $en_csv .= $rowr[$j].", "; } $en_csv .= "\n<br>"; } } print $en_csv; mysql_close($link); } /////////////////////////////////////////////////////////////////// ?>

- De esta manera los datos de autentificación estará en otro archivo y será más complicado.

__________________________________
__________________________________
3.- Fallo en la conexión.

- Podemos agregar el comando die, que nos informará cuando haya un fallo en la conexión con la base de datos.

mysql_select_db($db_name, $link) or die("Fallo en la conexion.");

bd_autentifica.php
<?php
// Juan Antonio Villalpando.
// KIO4.COM

error_reporting ( E_ALL  ^  E_NOTICE  ^  E_DEPRECATED ); // 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor $db_host="mysql.hostinger.es"; $db_name="u798509677_comun"; $db_login="u798509677_juan"; $db_pswd="contraseña"; $link = mysql_connect($db_host, $db_login, $db_pswd) or die("Fallo en el enlace."); // 2.- CONEXION A LA BASE DE DATOS mysql_select_db($db_name, $link) or die("Fallo en la conexion.");

__________________________________
__________________________________

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información