lunes, 20 de abril de 2020

Php Mysql borrar tablas en cascada

Veremos en este post, como poder borrar las tablas de un usuario mediante una función de php.
Si pasamos el script tras comprobar que el query que borra el usuario se cumple, no tendrémos problemas en caso de que este no se haya borrado en la tabla de usuarios.
Vemos también como se pasan unos parámetros a los log y los datos se ecriben en cascada, según las tablas que ha detectado.
Espero que os seá muy útil.

    /*************    BORRAMOS TODAS LAS TABLAS DE USUARIO     ***************/

    /* Se busca las tablas en la base de datos */
    /* REFERENCIA DEL USUARIO O $_SESSION['iniref'] = $_POST['ref'] */
    /* $nom PARA LA CLAVE USUARIO ACOMPAÑANDA DE _ O NO */
        global $db;
        global $db_name;
        global $nom;
        $nom = strtolower($_POST['ref']);
        $nom = "clb_".$_POST['ref']."%"; // SOLO COINCIDEN AL PRINCIPIO
        $nom = "LIKE '$nom'";
        //$consulta = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME $nom ";
        $consulta = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '$db_name' AND TABLE_NAME $nom ";
        $respuesta = mysqli_query($db, $consulta);
        //$count = mysqli_num_rows($respuesta);
        //print("* NUMERO TABLAS: ".$count."<br>");
        //print("* CLAVE TABLA USUARIO: ".$nom."<br>");

Php conocer navegador web del usuario

Hoy os dejo una forma sencilla de poder detectar el navegador web del usuario y poder presentar distintos parametros en base a ese dato.
Espero que os ayude.

    // DETERMINO EL NAVEGADOR WEB Y PASO EL MENU ADECUADO
    global $user_agent;
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    //getBrowser($user_agent);
    $_SESSION['menu'] = getBrowser($user_agent);

function getBrowser($user_agent){
    if(strpos($user_agent, 'MSIE') !== FALSE){
        //return 'Internet explorer';
        return "Inclu_MInd_b";
    }elseif(strpos($user_agent, 'Edge') !== FALSE){ //Microsoft Edge
        //return 'Microsoft Edge';
        return "Inclu_MInd_b";