Error in PHP project

Asked

Viewed 36 times

0

I’m putting together a virtual store project. And I got to the administration panel part. In the product registration tab, there is a part where I register the images of the product gallery. But when I select the image, it does not appear on the site and is not inserted in the database, IE, nothing changes.

<h1 class="title">Passo 2: Imagens do Produto</h1>
<?php
    $pegar_imagens_produto = BD::conn()->prepare("SELECT * FROM loja_imgprod WHERE id_produto = ?");
    $pegar_imagens_produto->execute(array($_SESSION['ultimoId']));
    $contar = $pegar_imagens_produto->rowCount();

    $qtdFaltam = 6-$contar;
?>


<div class="erros">
    <p>Você ainda pode enviar <strong><?php echo $qtdFaltam;?></strong> de <strong>6</strong> imagens para esse produto</p>
</div>
<?php
    if(isset($_POST['acao']) && $_POST['acao'] == 'cadastarImg'):
        $imagem = $_FILES['imagem'];
        $tmp = $imagem['tmp_name'];
        $name = $imagem['name'];
        $novoNome = md5(uniqid(rand(), true)).$name;

        if($site->upload($tmp, $name, $novoNome, '500', '../../produtos/')){
            $dados = array('id_produto' => $_SESSION['ultimoId'], 'img' => $novoNome);
            if($site->inserir('loja_imgprod', $dados)){
                echo '<script>alert("Imagem cadastradda com sucesso");location.href="?pagina=passo2"</script>';
            }
        }
    endif;
?>
<?php if($contar != 6):?>
<div id="formularios">
    <form action="" method="post" enctype="multipart/form-data">
        <label class="img">
            <span class="title">Escolha uma imagem</span>
            <input type="file" name="imagem" />
        </label>
        <input type="hidden" name="acao" value="cadastrarImg" />
        <input type="submit" value="Enviar Imagem" name="send" class="btn" />
    </form>
</div>
<?php endif;?>
<h1 class="title">Imagens para esse produto</h1>
<?php
    while($fetchImagens = $pegar_imagens_produto->fetchObject()):
?>
<div class="imagem">
    <div class="img"><img src="../../produtos/<?php echo $fetchImagens->img;?>" width="145" alt=""/></div>
    <a href="?pagina=passo2&deletar=sim&imagem=<?php echo $fetchImagens->id;?>" id="deletar">Deletar Imagem</a>
</div>
<?php endwhile;?>

class code "website"

<?php
class Site extends BD{

    private $conexao;


    public function getData(){
        $data = getdate();
        $diaHoje = date('d');
        $array_meses = array(1 => "janeiro", 2 => "fevereiro", 3 => "março", 4 => "abril", 5 => "maio", 6 => "junho", 
                             7 => "julho", 8 => "agosto", 9 => "setembro", 10 => "outubro", 11 => "novembro", 12 => "dezembro"); 
        $mesgetdate = $data['mon'];
        $anoAtual = date('Y');

        return 'Hoje, '.$diaHoje.' de '.$array_meses[$mesgetdate].' de '.$anoAtual.'';
    }//armazena e retorna a string da data atual''


    public function getMenu(){
        $imagem_cat = '<img src="'.PATH.'/images/arrow.png" border="0" />';
        $pegar_categorias = "SELECT * FROM loja_categorias ORDER BY id DESC";
        $executar = self::conn()->prepare($pegar_categorias);
        $executar->execute();
        if($executar->rowCount() == 0){}else{
            while($categoria = $executar->fetchObject()){
                echo '<li>'.$imagem_cat.'<a href="'.PATH.'/categoria/'.$categoria->slug.'">'.$categoria->titulo.'';

                    $pegar_subcategorias = "SELECT * FROM loja_subcategorias WHERE id_cat = ?";
                    $executar_sub = self::conn()->prepare($pegar_subcategorias);
                    $executar_sub->execute(array($categoria->id));
                    if($executar_sub->rowCount() == 0){echo '</li>';}else{
                        echo '<ul>';
                        while($subcategoria = $executar_sub->fetchObject()){
                            echo '<li>'.$imagem_cat.'<a href="'.PATH.'/categoria/'.$categoria->slug.'/'.$subcategoria->slug.'">'.$subcategoria->titulo.'</a></li>';
                        }//termina while da SUBCATEGORIA
                        echo '</ul></li>';
                    }//termina dos resultados da SUBCATEGORIA
            }//termina while das CATEGORIAS
        }//termina else
    }//termina funcao getMenu

    public function getBanners(){
        $sqlBanners = "SELECT * FROM loja_banners ORDER BY id DESC LIMIT 4";
        return self::conn()->query($sqlBanners);
    }//pega os banners do slide principal


    public function getProdutosHome($limit = false){
        if($limit == false){
            $query = "SELECT * FROM loja_produtos ORDER BY id DESC";
        }else{
            $query = "SELECT * FROM loja_produtos ORDER BY id DESC LIMIT $limit";
        }
        return self::conn()->query($query);
    }//pegar os produtos da home

    public function atualizarViewCat($slug){

        $strSQL = "UPDATE loja_categorias SET views = views+1 WHERE slug = ?";
        $executar_view = self::conn()->prepare($strSQL);
        $executar_view->execute(array($slug));
        }// atualiza views da categoria

    public function atualizarViewSub($slug){

        $strSQL = "UPDATE loja_subcategorias SET views = views+1 WHERE slug = ?";
        $executar_view = self::conn()->prepare($strSQL);
        $executar_view->execute(array($slug));
        }// atualiza views da subcategoria


        //metodo de insert
        public function inserir($tabela, $dados){
            $pegarCampos = array_keys($dados);
            $contarCampos = count($pegarCampos);
            $pegarValores = array_values($dados);
            $contarValores = count($pegarValores);

            $sql = "INSERT INTO $tabela (";
            if($contarCampos == $contarValores){
                foreach($pegarCampos as $campo){
                    $sql .= $campo.', ';
                }
                $sql = substr_replace($sql, ")", -2, 1);
                $sql .= "VALUES (";

                for($i = 0; $i <$contarValores; $i++){
                    $sql .= "?, ";
                    $i;
                }

                $sql = substr_replace($sql, ")", -2, 1);
            }else{
                return false;
            }

            try{
                $inserir = self::conn()->prepare($sql);
                if($inserir->execute($pegarValores)){
                    return true;
                }else{
                    return false;
                }
            }catch(PDOException $e){
                return false;
            }
        }

        //seleção dinamica

        public function selecionar ($tabela, $dados, $condicao = false, $order = false){
            $pegarValores = implode(', ', $dados);
            $contarValores = count($pegarValores);

            if($condicao == false){
                if($contarValores > 0){
                    $sql = "SELECT $pegarValores FROM $tabela";
                    $this->conexao = self::conn()->prepare($sql);
                    $this->conexao->execute();
                    return $this->conexao;
                }
            }else{
                $pegarCondCampos = array_keys($condicao);
                $contarCondCampos = count($pegarCondCampos);
                $pegarCondValores = array_values($condicao);

                $sql = "SELECT $pegarValores FROM $tabela WHERE ";
                foreach($pegarCondCampos as $campoCondicao){
                    $sql .= $campoCondicao." = ? AND ";
                }
                $sql = substr_replace($sql, "", -5, 5);

                foreach($pegarCondValores as $condValores){
                    $dadosExec[] = $condValores;
                }
                if($order){$sql .= " ORDER BY $order";}
                $this->conexao = self::conn()->prepare($sql);
                $this->conexao->execute($dadosExec);
                return $this->conexao;
            }
        }

        public function listar(){
            $lista = $this->conexao->fetchAll();
            return $lista;
        }

function upload($tmp, $name, $nome, $larguraP, $pasta){

    $ext = end(explode('.', $name));
    if($ext=='jpg' || $ext == 'JPG' || $ext == 'jpeg' || $ext == 'JPEG'){
            $img = imagecreatefromjpeg($tmp);
    }elseif($ext == 'png'){
            $img = imagecreatefrompng($tmp);
    }elseif($ext == 'gif'){
            $img = imagecreatefromgif($tmp);
    }
    list($larg, $alt) = getimagesize($tmp);
    $x = $larg;
    $y = $alt;
    $largura = ($x>$larguraP) ? $larguraP : $x;
    $altura = ($largura*$y)/$x;

    if($altura>$larguraP){
            $altura = $larguraP;
            $largura = ($altura*$x)/$y;
    }
    $nova = imagecreatetruecolor($largura, $altura);
    imagecopyresampled($nova, $img, 0,0,0,0, $largura, $altura, $x, $y);

    imagejpeg($nova, $pasta.$nome);
    imagedestroy($img);
    imagedestroy($nova);
    return (file_exists($pasta.$nome)) ? true : false;
}
}
?>
  • What is $site? Put the code of this class in the question as well, since all logic is implemented in this class.

  • Okay, I’ve already posted the code of the website class

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.