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
____________________________
340C.- App inventor y MySQLi. PHP. GET. POST. Página web.
- Creo una cuenta en 000webhost:
https://www.000webhost.com/free-website-sign-up
- Para ir al Panel de control: https://www.000webhost.com/cpanel-login
- En nuestra base de datos creamos una tabla llamada personas con 4 columnas: id, Nombre, Edad y Ciudad.
________________________________________________________________
________________________________________________________________
1.- MySQLi + PHP + GET + App Inventor.
p340B_mysqli_php_get.aia
_________________
- Diseño.
NOTA: Web1 está en Conectividad (no confundir con VisorWeb)
_________________
- Bloques.
- El archivo está en https://kio4.000webhostapp.com/mysqli_get.php
_________________
- Archivo PHP. MySQLi. GET.
mysqli_get.php
|
<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com
// http://kio4.com
// https://kio4.000webhostapp.com/mysqli_get.php
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="localhost";
$db_name="id13313319_kio4";
$db_login="id13313319_juanantonio";
$db_pswd="contraseña";
// 2.- CONEXION A LA BASE DE DATOS
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
$boton = $_GET['boton'];
/////////////////////////////// INSERTAR - INSERT ////////////////////////////////////
if ($boton == "btnInsertar"){
$Nombre = $_GET['Nombre'];
$Edad = $_GET['Edad'];
$Ciudad = $_GET['Ciudad'];
$query="insert into personas (Nombre, Edad, Ciudad) values ('$Nombre','$Edad','$Ciudad')";
$result = mysqli_query($link, $query);
print("Datos agregados a la base.");
mysqli_close($link);
}
/////////////////////////////// BORRAR - DELETE ////////////////////////////////////
if ($boton == "btnBorrar"){
$Nombre = $_GET['Nombre'];
$query="delete from personas where Nombre='$Nombre'";
$result = mysqli_query($link, $query);
print("Datos borrados.");
mysqli_close($link);
}
////////////////////////////// ACTUALIZAR - UPDATE ///////////////////////////////
if ($boton == "btnActualizar"){
$Nombre = $_GET['Nombre'];
$Edad = $_GET['Edad'];
$Ciudad = $_GET['Ciudad'];
$query="update personas set Edad='$Edad', Ciudad='$Ciudad' WHERE Nombre='$Nombre'";
$result = mysqli_query($link, $query);
print("Datos modificados.");
mysqli_close($link);
}
///////////////////// BUSCAR POR NOMBRE - SEARCH BY NAME /////////////////////////////
if ($boton == "btnBuscarNombre"){
$Nombre=$_GET['Nombre'];
$hacer = mysqli_query ($link, "SELECT * FROM personas WHERE Nombre='$Nombre' ");
enviar_respuesta($hacer);
}
/////////////////////// MOSTRAR TABLA - SHOW TABLE /////////////////////////////////////
if ($boton == "btnVerTabla"){
$hacer = mysqli_query ($link, "SELECT * FROM personas");
enviar_respuesta($hacer);
}
////////////////////////////// RESPUESTA - RESPONSE ///////////////////////
// En los casos que hay btnBuscarNombre o btnVerTabla y se debe enviar una respuesta actúa este código.
function enviar_respuesta($hacer)
{
$resultado = mysqli_query($GLOBALS['link'], "SHOW COLUMNS FROM personas");
$numerodefilas = mysqli_num_rows($resultado);
if ($numerodefilas > 0) {
$en_csv='';
while ($rowr = mysqli_fetch_row($hacer)) {
for ($j=0;$j<$numerodefilas;$j++) {
$en_csv .= $rowr[$j].", ";
}
$en_csv .= "\n";
}
}
print $en_csv;
}
///////////////////////////////////////////////////////////////////
?>
|
________________________________________________________________
________________________________________________________________
2.- MySQLi + PHP + POST + App Inventor.
p340B_mysqli_php_post.aia
_________________
- Diseño.
NOTA: Web1 está en Conectividad (no confundir con VisorWeb)
_________________
- Bloques.
- El archivo está en https://kio4.000webhostapp.com/mysqli_post.php
_________________
- Archivo PHP. MySQLi. POST.
mysqli_post.php
|
<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com
// http://kio4.com
// https://kio4.000webhostapp.com/mysqli_post.php
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="localhost";
$db_name="id13313319_kio4";
$db_login="id13313319_juanantonio";
$db_pswd="contraseña";
// 2.- CONEXION A LA BASE DE DATOS
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
$boton = $_POST['boton'];
/////////////////////////////// INSERTAR - INSERT ////////////////////////////////////
if ($boton == "btnInsertar"){
$Nombre = $_POST['Nombre'];
$Edad = $_POST['Edad'];
$Ciudad = $_POST['Ciudad'];
$query="insert into personas (Nombre, Edad, Ciudad) values ('$Nombre','$Edad','$Ciudad')";
$result = mysqli_query($link, $query);
print("Datos agregados a la base.");
mysqli_close($link);
}
/////////////////////////////// BORRAR - DELETE ////////////////////////////////////
if ($boton == "btnBorrar"){
$Nombre = $_POST['Nombre'];
$query="delete from personas where Nombre='$Nombre'";
$result = mysqli_query($link, $query);
print("Datos borrados.");
mysqli_close($link);
}
////////////////////////////// ACTUALIZAR - UPDATE ///////////////////////////////
if ($boton == "btnActualizar"){
$Nombre = $_POST['Nombre'];
$Edad = $_POST['Edad'];
$Ciudad = $_POST['Ciudad'];
$query="update personas set Edad='$Edad', Ciudad='$Ciudad' WHERE Nombre='$Nombre'";
$result = mysqli_query($link, $query);
print("Datos modificados.");
mysqli_close($link);
}
///////////////////// BUSCAR POR NOMBRE - SEARCH BY NAME /////////////////////////////
if ($boton == "btnBuscarNombre"){
$Nombre=$_POST['Nombre'];
$hacer = mysqli_query ($link, "SELECT * FROM personas WHERE Nombre='$Nombre' ");
enviar_respuesta($hacer);
}
/////////////////////// MOSTRAR TABLA - SHOW TABLE /////////////////////////////////////
if ($boton == "btnVerTabla"){
$hacer = mysqli_query ($link, "SELECT * FROM personas");
enviar_respuesta($hacer);
}
/////////////////////// OBTENER ORDENADO - GET SORT /////////////////////////////////////
if ($boton == "btnOrdenar"){
$Columna = $_POST['Columna'];
$hacer = mysqli_query ($link, "SELECT * FROM personas ORDER BY $Columna ASC");
enviar_respuesta($hacer);
}
////////////////////////////// RESPUESTA - RESPONSE ///////////////////////
// En los casos que hay btnBuscarNombre o btnVerTabla y se debe enviar una respuesta actúa este código.
function enviar_respuesta($hacer)
{
$resultado = mysqli_query($GLOBALS['link'], "SHOW COLUMNS FROM personas");
$numerodefilas = mysqli_num_rows($resultado);
if ($numerodefilas > 0) {
$en_csv='';
while ($rowr = mysqli_fetch_row($hacer)) {
for ($j=0;$j<$numerodefilas;$j++) {
$en_csv .= $rowr[$j].", ";
}
$en_csv .= "\n";
}
}
print $en_csv;
}
///////////////////////////////////////////////////////////////////
?>
|
________________________________________________________________
________________________________________________________________
3.- MySQLi + PHP + POST + Web.
- Pulsa en el siguiente enlace para ver un ejemplo:
http://kio4.000webhostapp.com/mysqli_htm_post.php
- Observa las comillas de acento en la variable: `$Columna`
mysqli_htm_post.php
|
<html>
<head><meta charset="UTF-8"></head>
<body>
<form name="test" method="post" action="mysqli_htm_post.php">
<p>Nombre - Name:
<input type="text" name="Nombre" value="">
<br />
Edad - Age:
<input type="text" name="Edad" value="">
<br />
Ciudad - City:
<input type="text" name="Ciudad" value="">
<br />
<INPUT TYPE="submit" name="btnInsertar" value="Insertar - Insert">
<INPUT TYPE="submit" name="btnBorrar" value="Borrar - Delete">
<INPUT TYPE="submit" name="btnActualizar" value="Actualizar - Update">
<INPUT TYPE="submit" name="btnBuscarNombre" value="Buscar por Nombre - Search by Name">
<INPUT TYPE="submit" name="btnVerTabla" value="Ver Tabla - Show Table">
</p>
<p>Ordenar por (Nombre, Edad, Ciudad) - Sort by (Nombre, Edad, Ciudad): <input type="text" name="Columna" value="Nombre">
<INPUT TYPE="submit" name="btnOrdenar" value="Ordenar - Sort">
</p>
</form>
</body>
</html>
<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com
// http://kio4.com
// kio4.000webhostapp.com/mysqli_htm_post.php
/// https://www.000webhost.com/cpanel-login
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="localhost";
$db_name="id13313319_kio4";
$db_login="id13313319_juanantonio";
$db_pswd="Contraseña";
// 2.- CONEXION A LA BASE DE DATOS
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
/////////////////////////////// INSERTAR - INSERT ////////////////////////////////////
if(isset($_POST['btnInsertar'])){
$Nombre = $_POST['Nombre'];
$Edad = $_POST['Edad'];
$Ciudad = $_POST['Ciudad'];
$query="insert into personas (Nombre, Edad, Ciudad) values ('$Nombre','$Edad','$Ciudad')";
$result = mysqli_query($link, $query);
print("Datos agregados a la base.");
mysqli_close($link);
}
/////////////////////////////// BORRAR - DELETE ////////////////////////////////////
if(isset($_POST['btnBorrar'])){
$Nombre = $_POST['Nombre'];
$query="delete from personas where Nombre='$Nombre'";
$result = mysqli_query($link, $query);
print("Datos borrados.");
mysqli_close($link);
}
////////////////////////////// ACTUALIZAR - UPDATE ///////////////////////////////
if(isset($_POST['btnActualizar'])){
$Nombre = $_POST['Nombre'];
$Edad = $_POST['Edad'];
$Ciudad = $_POST['Ciudad'];
$query="update personas set Edad='$Edad', Ciudad='$Ciudad' WHERE Nombre='$Nombre'";
$result = mysqli_query($link, $query);
print("Datos modificados.");
mysqli_close($link);
}
///////////////////// BUSCAR POR NOMBRE - SEARCH BY NAME /////////////////////////////
if(isset($_POST['btnBuscarNombre'])){
$Nombre=$_POST['Nombre'];
$hacer = mysqli_query ($link, "SELECT * FROM personas WHERE Nombre='$Nombre' ");
enviar_respuesta($hacer);
}
/////////////////////// MOSTRAR TABLA - SHOW TABLE /////////////////////////////////////
if(isset($_POST['btnVerTabla'])){
$hacer = mysqli_query ($link, "SELECT * FROM personas");
enviar_respuesta($hacer);
}
/////////////////////// OBTENER ORDENADO - GET SORT /////////////////////////////////////
if(isset($_POST['btnOrdenar'])){
$Columna=$_POST['Columna'];
$hacer = mysqli_query ($link, "SELECT * FROM personas ORDER BY `$Columna` ASC");
enviar_respuesta($hacer);
}
////////////////////////////// RESPUESTA - RESPONSE ///////////////////////
// En los casos que hay btnBuscarNombre o btnVerTabla y se debe enviar una respuesta actúa este código.
function enviar_respuesta($hacer)
{
$resultado = mysqli_query($GLOBALS['link'], "SHOW COLUMNS FROM personas");
$numerodefilas = mysqli_num_rows($resultado);
if ($numerodefilas > 0) {
$en_csv='';
while ($rowr = mysqli_fetch_row($hacer)) {
for ($j=0;$j<$numerodefilas;$j++) {
$en_csv .= $rowr[$j].", ";
}
$en_csv .= "<br>"."\n";
}
}
print $en_csv;
}
///////////////////////////////////////////////////////////////////
?>
|
____________________________________________
- Injection SQL.
- Esto es una forma de hackear la base de datos, consiste de introducirle en los casilleros un código que provoca cambio en la petición de la orden.
- Lo veremos en el próximo tutorial 340D_appinventor_mysqli_inject.htm
_______________________________
|