CRUD BARD sql con ajax jquery type json json mysql con pdo php SEGURIDAD PHP

 Haceme el codigo de insert sql con ajax jquery type json y respuesta ok del json al guardar nombre y precio a una base dato mysql con pdo php

1

De acuerdo, aquí tienes el código de insert SQL con Ajax jQuery type JSON y respuesta OK del JSON al guardar nombre y precio a una base de datos MySQL con PDO PHP:


HTML


HTML

<!DOCTYPE html>

<html lang="es">

<head>

  <meta charset="UTF-8">

  <title>Insertar registro con Ajax</title>

</head>

<body>

  <h1>Insertar registro</h1>

  <form action="" method="post">

    <input type="text" name="nombre" placeholder="Nombre">

    <input type="number" name="precio" placeholder="Precio">

    <input type="submit" value="Guardar">

  </form>

</body>

</html>

Usa el código con precaución. Más información

JavaScript


JavaScript

$(document).ready(function() {

  // Evento submit del formulario

  $("#formulario").submit(function(event) {

    // Cancelar el evento nativo

    event.preventDefault();


    // Obtener los valores del formulario

    var nombre = $("#nombre").val();

    var precio = $("#precio").val();


    // Enviar los datos al servidor

    $.ajax({

      type: "POST",

      url: "insertar.php",

      data: {

        nombre: nombre,

        precio: precio

      },

      dataType: "json",

      success: function(respuesta) {

        // Si la respuesta es OK

        if (respuesta.ok) {

          // Mostrar mensaje de éxito

          alert("Registro guardado correctamente");

        } else {

          // Mostrar mensaje de error

          alert("Error al guardar el registro");

        }

      }

    });

  });

});

Usa el código con precaución. Más información

PHP


PHP

<?php


// Conectar a la base de datos

$conexion = new PDO("mysql:host=localhost;dbname=mi_base_de_datos", "root", "");


// Crear la consulta SQL

$consulta = "INSERT INTO productos (nombre, precio) VALUES (:nombre, :precio)";


// Preparar la consulta

$sentencia = $conexion->prepare($consulta);


// Vincular los parámetros

$sentencia->bindParam(":nombre", $nombre);

$sentencia->bindParam(":precio", $precio);


// Obtener los valores del formulario

$nombre = $_POST["nombre"];

$precio = $_POST["precio"];


// Ejecutar la consulta

$sentencia->execute();


// Cerrar la conexión

$conexion = null;


// Crear el objeto respuesta

$respuesta = new stdClass();


// Asignar el valor de ok

$respuesta->ok = true;


// Devolver la respuesta

echo json_encode($respuesta);


?>

Usa el código con precaución. Más información

Explicación del código


En el HTML, tenemos un formulario con dos campos, uno para el nombre y otro para el precio. Al hacer clic en el botón "Guardar", se envían los datos del formulario al servidor.


En el JavaScript, primero se captura el evento submit del formulario. Luego, se obtienen los valores de los campos del formulario. A continuación, se envían los datos al servidor mediante una solicitud AJAX.


En el PHP, se conecta a la base de datos y se crea la consulta SQL para insertar un nuevo registro. Se preparan los parámetros de la consulta y se vinculan a los valores del formulario. A continuación, se ejecuta la consulta y se cierra la conexión.


Por último, se crea el objeto respuesta y se asigna el valor de ok a true. Luego, se devuelve la respuesta en formato JSON.


Este código es un ejemplo básico de cómo insertar un registro en una base de datos MySQL con Ajax y PDO PHP.


Fuentes

github.com/mframirezfuentes/ApiRest

foto de perfil

Hacer el update por id con pdo php metodo post type json resp


De acuerdo, aquí tienes el código de update por ID con PDO PHP, método POST, type JSON y resp:


HTML


HTML

<!DOCTYPE html>

<html lang="es">

<head>

  <meta charset="UTF-8">

  <title>Actualizar registro con Ajax</title>

</head>

<body>

  <h1>Actualizar registro</h1>

  <form action="" method="post">

    <input type="hidden" name="id" value="1">

    <input type="text" name="nombre" placeholder="Nombre">

    <input type="number" name="precio" placeholder="Precio">

    <input type="submit" value="Actualizar">

  </form>

</body>

</html>

Usa el código con precaución. Más información

JavaScript


JavaScript

$(document).ready(function() {

  // Evento submit del formulario

  $("#formulario").submit(function(event) {

    // Cancelar el evento nativo

    event.preventDefault();


    // Obtener los valores del formulario

    var id = $("#id").val();

    var nombre = $("#nombre").val();

    var precio = $("#precio").val();


    // Enviar los datos al servidor

    $.ajax({

      type: "POST",

      url: "actualizar.php",

      data: {

        id: id,

        nombre: nombre,

        precio: precio

      },

      dataType: "json",

      success: function(respuesta) {

        // Si la respuesta es OK

        if (respuesta.ok) {

          // Mostrar mensaje de éxito

          alert("Registro actualizado correctamente");

        } else {

          // Mostrar mensaje de error

          alert("Error al actualizar el registro");

        }

      }

    });

  });

});

Usa el código con precaución. Más información

PHP


PHP

<?php


// Conectar a la base de datos

$conexion = new PDO("mysql:host=localhost;dbname=mi_base_de_datos", "root", "");


// Crear la consulta SQL

$consulta = "UPDATE productos SET nombre=:nombre, precio=:precio WHERE id=:id";


// Preparar la consulta

$sentencia = $conexion->prepare($consulta);


// Vincular los parámetros

$sentencia->bindParam(":id", $id);

$sentencia->bindParam(":nombre", $nombre);

$sentencia->bindParam(":precio", $precio);


// Obtener los valores del formulario

$id = $_POST["id"];

$nombre = $_POST["nombre"];

$precio = $_POST["precio"];


// Ejecutar la consulta

$sentencia->execute();


// Cerrar la conexión

$conexion = null;


// Crear el objeto respuesta

$respuesta = new stdClass();


// Asignar el valor de ok

$respuesta->ok = true;


// Devolver la respuesta

echo json_encode($respuesta);


?>

Usa el código con precaución. Más información

Explicación del código


El código es similar al código de insert, con la diferencia de que se utiliza la cláusula WHERE para especificar el ID del registro que se desea actualizar.


En el HTML, tenemos un formulario con tres campos, uno para el ID, otro para el nombre y otro para el precio. Al hacer clic en el botón "Actualizar", se envían los datos del formulario al servidor.


En el JavaScript, primero se captura el evento submit del formulario. Luego, se obtienen los valores de los campos del formulario. A continuación, se envían los datos al servidor mediante una solicitud AJAX.


En el PHP, se conecta a la base de datos y se crea la consulta SQL para actualizar el registro. Se preparan los parámetros de la consulta y se vinculan a los valores del formulario. A continuación, se ejecuta la consulta y se cierra la conexión.


Por último, se crea el objeto respuesta y se asigna el valor de ok a true. Luego, se devuelve la respuesta en formato JSON.


Este código es un ejemplo básico de cómo actualizar un registro en una base de datos MySQL con Ajax y PDO PHP.


foto de perfil

Hacer el delete por id del codigo anterior y con resp json ok


De acuerdo, aquí tienes el código de delete por ID con PDO PHP, método POST, type JSON y resp:


HTML


HTML

<!DOCTYPE html>

<html lang="es">

<head>

  <meta charset="UTF-8">

  <title>Eliminar registro con Ajax</title>

</head>

<body>

  <h1>Eliminar registro</h1>

  <form action="" method="post">

    <input type="hidden" name="id" value="1">

    <input type="submit" value="Eliminar">

  </form>

</body>

</html>

Usa el código con precaución. Más información

JavaScript


JavaScript

$(document).ready(function() {

  // Evento submit del formulario

  $("#formulario").submit(function(event) {

    // Cancelar el evento nativo

    event.preventDefault();


    // Obtener el valor del id

    var id = $("#id").val();


    // Enviar los datos al servidor

    $.ajax({

      type: "POST",

      url: "eliminar.php",

      data: {

        id: id

      },

      dataType: "json",

      success: function(respuesta) {

        // Si la respuesta es OK

        if (respuesta.ok) {

          // Mostrar mensaje de éxito

          alert("Registro eliminado correctamente");

        } else {

          // Mostrar mensaje de error

          alert("Error al eliminar el registro");

        }

      }

    });

  });

});

Usa el código con precaución. Más información

PHP


PHP

<?php


// Conectar a la base de datos

$conexion = new PDO("mysql:host=localhost;dbname=mi_base_de_datos", "root", "");


// Crear la consulta SQL

$consulta = "DELETE FROM productos WHERE id=:id";


// Preparar la consulta

$sentencia = $conexion->prepare($consulta);


// Vincular el parámetro

$sentencia->bindParam(":id", $id);


// Obtener el valor del id

$id = $_POST["id"];


// Ejecutar la consulta

$sentencia->execute();


// Cerrar la conexión

$conexion = null;


// Crear el objeto respuesta

$respuesta = new stdClass();


// Asignar el valor de ok

$respuesta->ok = true;


// Devolver la respuesta

echo json_encode($respuesta);


?>

Usa el código con precaución. Más información

Explicación del código


El código es similar al código de update, con la diferencia de que se utiliza la cláusula WHERE para especificar el ID del registro que se desea eliminar.


En el HTML, tenemos un formulario con un campo, uno para el ID. Al hacer clic en el botón "Eliminar", se envían los datos del formulario al servidor.


En el JavaScript, primero se captura el evento submit del formulario. Luego, se obtiene el valor del campo del formulario. A continuación, se envían los datos al servidor mediante una solicitud AJAX.


En el PHP, se conecta a la base de datos y se crea la consulta SQL para eliminar el registro. Se preparan los parámetros de la consulta y se vinculan a los valores del formulario. A continuación, se ejecuta la consulta y se cierra la conexión.


Por último, se crea el objeto respuesta y se asigna el valor de ok a true. Luego, se devuelve la respuesta en formato JSON.


Este código es un ejemplo básico de cómo eliminar un registro en una base de datos MySQL con Ajax y PDO PHP.


foto de perfil

Hacerme el codigo para proteger el form de ataques xss y sql injection sobre el codigo json



1

De acuerdo, aquí tienes el código para proteger el form de ataques XSS y SQL Injection sobre el código JSON:


HTML


HTML

<!DOCTYPE html>

<html lang="es">

<head>

  <meta charset="UTF-8">

  <title>Insertar registro con Ajax</title>

</head>

<body>

  <h1>Insertar registro</h1>

  <form action="" method="post">

    <input type="text" name="nombre" placeholder="Nombre">

    <input type="number" name="precio" placeholder="Precio">

    <input type="submit" value="Guardar">

  </form>

</body>

</html>

Usa el código con precaución. Más información

JavaScript


JavaScript

$(document).ready(function() {

  // Evento submit del formulario

  $("#formulario").submit(function(event) {

    // Cancelar el evento nativo

    event.preventDefault();


    // Obtener los valores del formulario

    var nombre = $("#nombre").val();

    var precio = $("#precio").val();


    // Proteger los datos del formulario

    nombre = escapeHtml(nombre);

    precio = escapeHtml(precio);


    // Enviar los datos al servidor

    $.ajax({

      type: "POST",

      url: "insertar.php",

      data: {

        nombre: nombre,

        precio: precio

      },

      dataType: "json",

      success: function(respuesta) {

        // Si la respuesta es OK

        if (respuesta.ok) {

          // Mostrar mensaje de éxito

          alert("Registro guardado correctamente");

        } else {

          // Mostrar mensaje de error

          alert("Error al guardar el registro");

        }

      }

    });

  });

});


// Función para escapar los datos del formulario

function escapeHtml(text) {

  return text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");

}

Usa el código con precaución. Más información

PHP


PHP

<?php


// Conectar a la base de datos

$conexion = new PDO("mysql:host=localhost;dbname=mi_base_de_datos", "root", "");


// Crear la consulta SQL

$consulta = "INSERT INTO productos (nombre, precio) VALUES (:nombre, :precio)";


// Preparar la consulta

$sentencia = $conexion->prepare($consulta);


// Vincular los parámetros

$sentencia->bindParam(":nombre", $nombre);

$sentencia->bindParam(":precio", $precio);


// Obtener los valores del formulario

$nombre = $_POST["nombre"];

$precio = $_POST["precio"];


// Proteger los datos del formulario

$nombre = htmlspecialchars($nombre);

$precio = htmlspecialchars($precio);


// Ejecutar la consulta

$sentencia->execute();


// Cerrar la conexión

$conexion = null;


// Crear el objeto respuesta

$respuesta = new stdClass();


// Asignar el valor de ok

$respuesta->ok = true;


// Devolver la respuesta

echo json_encode($respuesta);


?>

Usa el código con precaución. Más información

Explicación del código


En el HTML, tenemos un formulario con dos campos, uno para el nombre y otro para el precio. Al hacer clic en el botón "Guardar", se envían los datos del formulario al servidor.


En el JavaScript, primero se captura el evento submit del formulario. Luego, se obtienen los valores de los campos del formulario. A continuación, se utilizan las funciones escapeHtml() y htmlspecialchars() para proteger los datos del formulario contra ataques XSS y SQL Injection. Por último, se envían los datos al servidor mediante una solicitud AJAX.


En el PHP, se conecta a la base de datos y se crea la consulta SQL para insertar un nuevo registro. Se preparan los parámetros de la consulta y se vinculan a los valores del formulario. A continuación, se ejecuta la consulta y se cierra la conexión.


Por último, se crea el objeto respuesta y se asigna el valor de ok a true. Luego, se devuelve la respuesta en formato JSON.


Este código es un ejemplo básico de cómo proteger un formulario contra ataques XSS y SQL Injection.


Explicación de las funciones utilizadas


`escapeHtml

Fuentes

github.com/mframirezfuentes/ApiRest

foto de perfil

Ahora proteger formulario de ataque CSRF

Ver otras versiones



1

De acuerdo, aquí tienes el código para proteger el form de ataques CSRF:


HTML


HTML

<!DOCTYPE html>

<html lang="es">

<head>

  <meta charset="UTF-8">

  <title>Insertar registro con Ajax</title>

</head>

<body>

  <h1>Insertar registro</h1>

  <form action="" method="post">

    <input type="text" name="nombre" placeholder="Nombre">

    <input type="number" name="precio" placeholder="Precio">

    <input type="hidden" name="csrf_token" value="<?php echo csrf_token(); ?>">

    <input type="submit" value="Guardar">

  </form>

</body>

</html>

Usa el código con precaución. Más información

JavaScript


JavaScript

$(document).ready(function() {

  // Evento submit del formulario

  $("#formulario").submit(function(event) {

    // Cancelar el evento nativo

    event.preventDefault();


    // Obtener los valores del formulario

    var nombre = $("#nombre").val();

    var precio = $("#precio").val();


    // Obtener el token CSRF

    var csrf_token = $("#formulario").find("[name='csrf_token']").val();


    // Validar el token CSRF

    if (!validateCsrfToken(csrf_token)) {

      alert("El token CSRF es inválido");

      return false;

    }


    // Enviar los datos al servidor

    $.ajax({

      type: "POST",

      url: "insertar.php",

      data: {

        nombre: nombre,

        precio: precio

      },

      dataType: "json",

      success: function(respuesta) {

        // Si la respuesta es OK

        if (respuesta.ok) {

          // Mostrar mensaje de éxito

          alert("Registro guardado correctamente");

        } else {

          // Mostrar mensaje de error

          alert("Error al guardar el registro");

        }

      }

    });

  });

});


// Función para validar el token CSRF

function validateCsrfToken(token) {

  // Obtener el token CSRF de la sesión

  var session_token = $("#_csrf").val();


  // Comparar el token CSRF del formulario con el token CSRF de la sesión

  return token === session_token;

}

Usa el código con precaución. Más información

PHP


PHP

<?php


// Obtener el token CSRF de la sesión

$csrf_token = $_SESSION["_csrf"];


// Validar el token CSRF

if (!isset($_POST["csrf_token"]) || $_POST["csrf_token"] !== $csrf_token) {

  // El token CSRF es inválido

  echo json_encode(["ok" => false]);

  exit;

}


// Crear la consulta SQL

$consulta = "INSERT INTO productos (nombre, precio) VALUES (:nombre, :precio)";


// Preparar la consulta

$sentencia = $conexion->prepare($consulta);


// Vincular los parámetros

$sentencia->bindParam(":nombre", $nombre);

$sentencia->bindParam(":precio", $precio);


// Obtener los valores del formulario

$nombre = $_POST["nombre"];

$precio = $_POST["precio"];


// Ejecutar la consulta

$sentencia->execute();


// Cerrar la conexión

$conexion = null;


// Crear el objeto respuesta

$respuesta = new stdClass();


// Asignar el valor de ok

$respuesta->ok = true;


// Devolver la respuesta

echo json_encode($respuesta);


?>

Usa el código con precaución. Más información

Explicación del código


En el HTML, tenemos un formulario con dos campos, uno para el nombre y otro para el precio. Al hacer clic en el botón "Guardar", se envían los datos del formulario al servidor.


En el JavaScript, primero se captura el evento submit del formulario. Luego, se obtienen los valores de los campos del formulario. A continuación, se obtiene el token CSRF del formulario. Por último, se valida el token CSRF. Si el token CSRF es inválido, se muestra un mensaje de error.


En el PHP, se obtiene el token CSR


Fuentes

github.com/mframirezfuentes/ApiRest

Comentarios

Entradas populares de este blog

Como proteger una api json con php al pasar el parametro POST[id] de los ataques sql injection y xss

Copia de Seguridad de Archivo MS Access (.mdb) a Pendrive con VB6

NUMEROS SERIE DE DISCO RIGIDO Y PENDRIVER USB CON PHP