Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

webvp

porém não encontra o erro...

Recommended Posts

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.