beck-coder
12/30/2018 - 4:05 AM

Cadastro PHP Universal

Insere em qualquer tabela, propriedade name deve ter o mesmo nome do campo da tabela e variável tipo deve ter o mesmo nome da tabela

<?php

    function ConectaBD()
    {
        try 
        {
            $con = new PDO('mysql:host=localhost;dbname=dbfotos', 'root', '');
            $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            return $con;
        } catch(PDOException $e) {
            echo 'ERROR: ' . $e->getMessage();
            return "";
        }
    }

    function MontaSQL()
    {
        $valoresSql = "(";
        $parametrosSql = "(";

        foreach($_POST['dados'] as $valor => $dado)
        {
            $valoresSql .= $dado['name'] . ',';
            $parametrosSql .= '?,';
        }

        $valoresSql = substr($valoresSql, 0, -1) . ")";
        $parametrosSql = substr($parametrosSql, 0, -1) . ")";

        $resultado = array($valoresSql, $parametrosSql);

        return $resultado;
    };

    function StmtInsere($tabela)
    {
        $con = ConectaBD();

        $insercaoSQL = MontaSQL();

        $sql = "INSERT INTO ".$tabela.$insercaoSQL[0]." VALUES ".$insercaoSQL[1];

        echo $sql;

        $stmtInsere = $con->prepare($sql); 

        foreach($_POST['dados'] as $indice => $valor)
        {   
            if($valor['name'] == 'senha')
            {
                $valor['value'] = md5($valor['value']);
            }
            
            $stmtInsere->bindParam($indice+1, $valor['value']);
        }

        $stmtInsere->execute();
    };

    MontaSQL();
    StmtInsere($_POST['tipo']);

?>