Ver Mensaje Individual
  #6 (permalink)  
Antiguo 17/04/2014, 16:30
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: eliminar registro mediante checkbox

Cita:
Iniciado por alexisverano Ver Mensaje
Pagina que elimina los elementos:
Código PHP:
Ver original
  1. $elementos = implode(",", $_POST['check']);
  2. $mysqli->query ("DELETE FROM tb_personalidades WHERE id IN ($elementos)");
Y para evitar ataques XSS y de SQL Injection:

Código PHP:
Ver original
  1. if (substr(PHP_VERSION, 0, 3) >= 5.3){ //Si tu versión de PHP es mayor o igual a la 5.3
  2.     array_walk($_POST['check'], function($a) use ($mysqli){
  3.         return $mysqli->real_escape_string($a);
  4.     }); //SQL Injection
  5. }
  6. else{ //Si tu versión de PHP es menor a la 5.3
  7.     function escape($a){
  8.         global $mysqli;
  9.         return $mysqli->real_escape_string($a);
  10.     }
  11.     array_walk($_POST['check'], "escape"); //SQL Injection
  12. }
  13.  
  14. $check = array_map("strip_tags", $_POST['check']); //XSS
  15. $elementos = implode(",", $check);
  16. $mysqli->query ("DELETE FROM tb_personalidades WHERE id IN ($elementos)");

Como se está interactuando con la BD, es necesario hacerlo así por cuestiones de seguridad.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 17/04/2014 a las 16:49