Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite pessoal,
Minha intenção com esse código é na página de editar um registro do banco de dados verificar se os campos FOTO e ESTAMPA estão vazios ou não com a possibilidade de um estar vazio e o outro não e vice e versa, e conforme estiver cada possibilidade ele faz uma ação diferente, dando a possibilidade de alterar o registro sem ter que enviar uma nova foto pra isso acontecer, segue:
<?php
include ('_sys/config.php');
$editar = $_GET['ID'];
//Carrega os dados
$nome = $_POST["nome"];
$descricao = $_POST["descricao"];
$valor = $_POST["valor"];
$disponibilidade = $_POST["disponibilidade"];
$obs = $_POST["obs"];
$categoria = $_POST["categoria"];
$publico = $_POST["publico"];
$foto = $_FILES["foto"];
$estampa = $_FILES["estampa"];
//Verifica se os campos estão preenchidos
if (empty($nome)) {
$mensagem = "<div class='form-erro'><img src='_img/erro.png'><a href='#'>O campo nome está vazio</a></div>"; }
elseif (empty($descricao)) {
$mensagem = "<div class='form-erro'><img src='_img/erro.png'><a href='#'>O campo descrição está vazio</a></div>"; }
elseif (empty($valor)) {
$mensagem = "<div class='form-erro'><img src='_img/erro.png'><a href='#'>O campo valor está vazio</a></div>"; }
elseif (empty($disponibilidade)) {
$mensagem = "<div class='form-erro'><img src='_img/erro.png'><a href='#'>O campo disponibilidade está vazio</a></div>"; }
elseif (empty($obs)) {
$mensagem = "<div class='form-erro'><img src='_img/erro.png'><a href='#'>O campo observação está vazio</a></div>"; }
elseif (empty($foto) && empty($estampa)) {
mysql_query ("UPDATE produtos NOME='$nome', DESCRICAO='$descricao', VALOR='$valor', DISPONIBILIDADE='$disponibilidade', OBS='$obs', CATEGORIA='$categoria', PUBLICO='$publico' WHERE ID = $editar");
$mensagem = "<div class='form-erro'><img src='_img/sucesso.png'><a href='#'>Produto alterado com sucesso primeiro</a></div>"; }//se não existir a pasta ele cria uma
if(!file_exists($pasta_dir)){
mkdir($pasta_dir);
}
$foto_nome = $pasta_dir . $foto["name"];
move_uploaded_file($foto["tmp_name"], $foto_nome);
mysql_query ("UPDATE produtos NOME='$nome', DESCRICAO='$descricao', VALOR='$valor', DISPONIBILIDADE='$disponibilidade', OBS='$obs', CATEGORIA='$categoria', PUBLICO='$publico', FOTO='$foto' WHERE ID = $editar");
$mensagem = "<div class='form-erro'><img src='_img/sucesso.png'><a href='#'>Produto alterado com sucesso segundo</a></div>"; }//se não existir a pasta ele cria uma
if(!file_exists($pasta_dir)){
mkdir($pasta_dir);
}
$estampa_nome = $pasta_dir . $estampa["name"];
move_uploaded_file($estampa["tmp_name"], $estampa_nome);
mysql_query ("UPDATE produtos NOME='$nome', DESCRICAO='$descricao', VALOR='$valor', DISPONIBILIDADE='$disponibilidade', OBS='$obs', CATEGORIA='$categoria', PUBLICO='$publico', ESTAMPA='$estampa' WHERE ID = $editar");
$mensagem = "<div class='form-erro'><img src='_img/sucesso.png'><a href='#'>Produto alterado com sucesso terceiro</a></div>"; }//se não existir a pasta ele cria uma
if(!file_exists($pasta_dir)){
mkdir($pasta_dir);
}
$foto_nome = $pasta_dir . $foto["name"];
$estampa_nome = $pasta_dir . $estampa["name"];
move_uploaded_file($foto["tmp_name"], $foto_nome);
move_uploaded_file($estampa["tmp_name"], $estampa_nome);
mysql_query ("UPDATE produtos NOME='$nome', DESCRICAO='$descricao', VALOR='$valor', DISPONIBILIDADE='$disponibilidade', OBS='$obs', CATEGORIA='$categoria', PUBLICO='$publico', FOTO='$foto' ESTAMPA='$estampa' WHERE ID = $editar");
$mensagem = "<div class='form-erro'><img src='_img/sucesso.png'><a href='#'>Produto alterado com sucesso quarto</a></div>"; } else
{ echo "ferro tudo"; }
?>
O que acontece é que independente se os campos que vão a foto e estampa estejam vazios ou cheios ele sempre cai nesse elseif
elseif (!empty($foto) && !empty($estampa)) {
//diretorio dos arquivos
$pasta_dir = "fotos/";
//se não existir a pasta ele cria uma
if(!file_exists($pasta_dir)){
mkdir($pasta_dir);
}
$foto_nome = $pasta_dir . $foto["name"];
$estampa_nome = $pasta_dir . $estampa["name"];
move_uploaded_file($foto["tmp_name"], $foto_nome);
move_uploaded_file($estampa["tmp_name"], $estampa_nome);
mysql_query ("UPDATE produtos NOME='$nome', DESCRICAO='$descricao', VALOR='$valor', DISPONIBILIDADE='$disponibilidade', OBS='$obs', CATEGORIA='$categoria', PUBLICO='$publico', FOTO='$foto' ESTAMPA='$estampa' WHERE ID = $editar");
$mensagem = "<div class='form-erro'><img src='_img/sucesso.png'><a href='#'>Produto alterado com sucesso quarto</a></div>"; }
E mesmo assim não altera o registro, alguém pode me ajudar?
Agradeço desde já.
Att,
Miguel
Ops. vi que nos UPDATE estavam faltando o SET, mas mesmo assim com o campo FOTO e ESTAMPA vazio está caindo sempre no ultimo elseif que eu citei. Ainda assim mesmo colocando o SET não está atualizando o registro.
Carregando comentários...