atoyansk

Membros
  • Content Count

    1
  • Joined

  • Last visited

Community Reputation

0 Neutro

About atoyansk

  1. Pessoal, estou fazendo uma página de update de dados que incluem um upload de imagem. Recupero os dados já cadastrados e insiro um campo tipo file para subir nova imagem, se o usuário desejar alterar este dado. A ideia é que, se este campo for definido (imagem nova escolhida) gera novo nome e altera os dados no BD, caso contrário, usar os dados de imagem anteriores ($oldImage). Mas não está funcionando... Segue o código usado: <?php $servicos = new Servicos; $dados = $servicos->listarUm(); if(empty($dados)): echo "Nenhum serviço encontrado"; else: ?> <form id="mainform" action="" method="post" enctype="multipart/form-data"> <label for="nome_servico" class="texto">Nome do Servi&ccedil;o: </label> <input type="text" name="nome_servico" class="input" value="<?php echo $dados->nome_servico; ?>"/> <br><br> <label for="descricao" class="texto">Descri&ccedil;&atilde;o do Servi&ccedil;o: </label> <textarea name="descricao" rows="" cols="" class="form-textarea"><?php echo $dados->descricao; ?></textarea> <br><br> <label for="oldImage" class="texto">Imagem Atual: </label> <img src="<?php echo $dados->imagem; ?>" width="352" height="184" name="oldImage"/> <input type="hidden" name="oldImage" value="<?php echo $dados->imagem; ?>"/> <br><br> <?php endif; ?> <label for="figura" class="texto">Alterar Imagem: </label> <table cellpadding="0" cellspacing="0" id="id-form"> <tr> <td><input type="file" name="figura" class="file_1" placeholder="Nenhuma imagem selecionada"/></td> <td> <div><a href="#" class="info"><img src="images/icons/help_p.gif"/><span>Selecione imagens sempre em formato horizontal, com as dimensões 352px de largura por 184px de altura, com as extensões PNG ou JPEG.</span></a></div> </td> </tr> </table> <br><br> <label for="fsubmit"></label> <input type="submit" name="ok" class="inputBtn" value="Atualizar" title="Atualizar"/> </form> <div class="box-evento"> <?php if(isset($_POST['ok'])): /*recuperar dados do formulário*/ $id = $_GET['id']; $nome_servico = $_POST['nome_servico']; $descricao = $_POST['descricao']; $oldImage = $_POST['oldImage']; $figura = $_FILES['figura']['name']; $temporario = $_FILES['figura']['tmp_name']; if($_FILES['figura']=""){ $imagem = $oldImage; } else if(isset($_FILES['figura'])){ define("PASTA_IMG", "imgs/"); /*Renomear a foto*/ $extensao = end(explode(".", $figura)); $novoNome = uniqid().".".$extensao; move_uploaded_file($_FILES['figura']['tmp_name'], PASTA_IMG.$novoNome); $imagem = PASTA_IMG.$novoNome; } $dataUpdate = array( $nome_servico, $imagem, $descricao, $id ); /*cadastrar no banco de dados*/ $servicos = new Servicos; $servicos->atualizar($dataUpdate); ?> <div class="status2"><?php echo "Registro atualizado com sucesso" .$nome_servico. ", " .$imagem. ", " .$descricao. ", " .$id. ", " .$novoNome. ", " .$oldImage. ", " .$_FILES['figura']; //atualizar($dataUpdate); ?></div> <?php endif; ?> </div>No retorno, estou dando um echo para verificar os dados que estão sendo enviados. E sempre cai como se o campo estivesse definido, mesmo que eu não escolha uma imagem no campo "figura". Há uma classe Servicos.php, que possui as funções listarUm() e atualizar(). Alguém poderia me ajudar a entender o que está acontecendo e como resolver? Muito obrigado pela ajuda!