I'm setting up a virtual store project. And I got to the admin 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 in the site and it is not inserted in the database either, that is, 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;?>
site class code
<?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;
}
}
?>