webvp 0 Denunciar post Postado Março 1, 2004 Aí galera do bem, quem puder dar uma olhada neste trecho do código e sober por que dá erro, poste aqui.O que está ocorrendo é o seguinte, preciso testar uma variável passada pelo form (campo tipo imagem) e verificar se está vazio.Caso esteja naum atualize a imagem na base de dados e na pasta, caso contrário atualiza a imagem e o resto dos dados.O que está ocorrendo que naum consigo testar se está passando vazio, já tentei assim:if(!isset($_GET["imgPromo"])){ codigo com imagem} else { codigo sem imagem}porém dá erroe também assim:if(!empty($_GET[imgPromo"])){ codigo com imagem} else { codigo sem imagem}e não rola nada.Obs.: já tentei também ao contrário ou seja só isset e empty sem "!"e nada. Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Março 1, 2004 Não está entrando em nenhuma das condições ?E se você der um echo, o que mostra ?Com outras variáveis vindas do form está tudo certo ? Compartilhar este post Link para o post Compartilhar em outros sites
webvp 0 Denunciar post Postado Março 2, 2004 Desculpe galera, tem um erro na forma como descrevi a dúvida, na verdade a imagem não pode ser recebida por $_GET e sim por $_FILES, como está no meu script. Quanto às passagens das variáveis, estão todas corretas, pois são gravadas normalmente na base de dados. O que ocorre, é que eu quero testar a variável que contém a imagem, passada por <input type=file>. Explico melhor, para ser melhor entendido e vocês consigam enteder o que está ocorrendo erro. 1- As variáveis são passadas pelo form (POST), com excessão do ID que é passado por GET; 2- Faço um teste para verificar se a variável $_FILES foi setada ou passada vazia; Caso seja true, ou seja, foi setada e passada algum parâmetro, deve selecionar na base de dados o registro coincidente, excluir a imagem atualmente gravada numa determinada pasta (ex.: /imagens) e fazer o upload da imagem passada e consequentemente as outras variáveis na base de dados; Caso seja false, apenas grave as demais variáveis sem atualizar a imagem na base de dados e apagar a que está na pasta (ex.: /imagens); 3- Retorne a mensagem de atualização. Dêem uma olhada no meu script, please! case "edt": $res = $banco->Query('SELECT * FROM promocoes WHERE id=\''.slash($_GET[ID]).'\'');if(($rs = $banco->num_rows($res))<1){ echo "<script>alert('O registro não pode ser alterado!'); history.back();</script>";} else { if(empty($_FILES["foto"])) { $res = $banco->Query("UPDATE promocoes SET dtCad='".slash($_POST[lbDtCad])."', dtFim='".slash($_POST[lbDtFim])."', promoUrl='".slash($_POST[lbUrl])."', imgStatus='".slash($_POST[lbAtivo])."', txTitulo='".slash($_POST[lbTitulo])."', txNome='".slash($_POST[lbNome])."' , idCat='".slash($_POST[idCat])."' WHERE id='".slash($_GET[ID])."'"); echo "<script>alert('Dados atualizados com sucesso!'); location.href='ListaPromocoes.php'</script>"; } else { $apaga_imagem = $banco->to_array($res); @unlink("../imagens/produtos/promocoes/".$apaga_imagem[imgUrl].""); $erro = $config = array(); $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE; $config["tamanho"] = 240000; $config["largura"] = 1480; $config["altura"] = 786; if ($arquivo) { if ($arquivo["size"] > $config["tamanho"]) { $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo"; } $tamanhos = getimagesize($arquivo["tmp_name"]); if ($tamanhos[0] > $config["largura"]) { $erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels"; } if ($tamanhos[1] > $config["altura"]) { $erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels"; } if (sizeof($erro)) { foreach ($erro as $err) { echo " - " . $err . "<BR>"; } echo "<a href=\"javascript:history.back();\">Fazer Upload de Outra Imagem</a>"; } else { preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext); // paths para as imagens e novo nome if(($_POST[lbTipo])==2) { $imagem_nome = md5(uniqid(time())) . "." . $ext[1]; } else { $imagem_nome = md5(uniqid(time())) . ".swf"; } $imagem_dir = "../imagens/produtos/promocoes/".$imagem_nome; // Faz o upload da imagem move_uploaded_file($arquivo["tmp_name"], $imagem_dir); } $res = $banco->Query("UPDATE promocoes SET dtCad='".slash($_POST[lbDtCad])."', dtFim='".slash($_POST[lbDtFim])."', imgUrl='".slash($imagem_nome)."', promoUrl='".slash($_POST[lbUrl])."', imgStatus='".slash($_POST[lbAtivo])."', txTitulo='".slash($_POST[lbTitulo])."', txNome='".slash($_POST[lbNome])."' , idCat='".slash($_POST[idCat])."' WHERE id='".slash($_GET[ID])."'"); echo "<script>alert('Dados atualizados com sucesso!'); location.href='ListaPromocoes.php'</script>"; } } } break; Compartilhar este post Link para o post Compartilhar em outros sites
webvp 0 Denunciar post Postado Março 2, 2004 Obrigado a todos que se dispuseram a responder e àqueles que tentaram e não souberam.Felizmente já encontrei a solução.basta utilizar a comparação assim:if(strlen(empty($_FILES["imagem"]["size"]))<1){ echo "Valor maior que 1";} else { echo "Valor inferior a 1 ";}A questão é simples, basta utilizar o array de tamanho e comparar se ele passou valor inferior a 1 ou seja 0 e se está vazia. Compartilhar este post Link para o post Compartilhar em outros sites