Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom Dia pessoal!
Tenho uma página aqui de edição de dados de um produto, onde o usuário pode editar o nome do produto, sua descrição, se é lançamento ou não e a imagem.
O que eu to tentando fazer é que se ele não enviar nenhuma imagem, que sem mantenha o caminho da imagem no banco de dados.
O que tá acontecendo é o seguinte: eu limitei a estrutura de upload de imagem para "entrar" nela apenas se o usuario mandar alguma imagem.
Só que não é o que está acontecendo.
Esse é o código da estrutura da edição:
if(isset($_GET['id'])){
$idProduto = mysql_real_escape_string($_GET['id']);
$sqlBusca = "SELECT * FROM produto WHERE idProduto = '".$idProduto."'";
$rsBusca = mysql_query($sqlBusca) or die (mysql_error());
$arrBusca = mysql_fetch_array($rsBusca);
$nomeProduto = $arrBusca['nomeProduto'];
$descProduto = $arrBusca['descProduto'];
$lancamento = $arrBusca['lancamento'];
if($lancamento == "S")
$checked = 'checked="checked"';
else
$checked = '';
}
if($_POST['button'] == "editar"){
$idProduto = $_POST['idProduto'];
$nomeProduto = $_POST['nomeProduto'];
$descProduto = $_POST['descProduto'];
$lancamento = $_POST['lancamento'];
if(isset($_FILES['imagemProduto'])){
$imagemProduto = $_FILES['imagemProduto'];
$pasta = ("Produto_".$idProduto);
delTree("imagens/fotostemp/");
mkdir("imagens/fotostemp/",0777);
if (!is_dir("imagens/".$pasta."/")){
mkdir("imagens/".$pasta."/",0777);
}
$Destino = ("imagens/fotostemp/");
$Nome = $imagemProduto['name'];
$Tamanho = $imagemProduto['size'];
$Tipo = $imagemProduto['type'];
$Tmpname = $imagemProduto['tmp_name'];
// Caminho completo de destino da foto
$Caminho = $Destino . $Nome;
$CaminhoImagem = ("painel/imagens/".$pasta."/".$Nome);
$CaminhoThumb = ("painel/imagens/".$pasta."/thumb_".$Nome);
// Tudo OK! Move o upload!
move_uploaded_file($Tmpname, $Caminho);
}else{
$CaminhoThumb = $arrBusca['thumbProduto'];
$CaminhoImagem = $arrBusca['imagemProduto'];
}
$sqlGravaFoto = "UPDATE produto SET
nomeProduto = '".$nomeProduto."',
descProduto = '".$descProduto."',
lancamento = '".$lancamento."',
thumbProduto = '".$CaminhoThumb."',
imagemProduto = '".$CaminhoImagem."'
WHERE
idProduto = ".$idProduto;
$rsGravaFoto = mysql_query($sqlGravaFoto) or die (mysql_error());
require_once("foto_trataegrava.php");
if($rsGravaFoto){
$alerta = 'Produto editado com sucesso!';
}else{
$alerta = 'Houve um erro, tente novamente!';
}
}
?>
HTML da página:
<!DOCTYPE HTML>
<html lang="pt-br">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?php include('_metatag.php'); ?>
<link href="css/estilo.css" rel="stylesheet" type="text/css" />
<link rel="icon" href="../favicon.ico" type="image/ico" />
<link rel="shortcut icon" href="../favicon.ico" />
<?php include('_js.php'); ?>
<?php
if($rsGravaFoto){
echo "<script language='javascript'> window.location = 'listar_produtos.php' </script>";
}
?>
<script language="javascript" type="text/JavaScript">
var maxCaracteres=225;
function soma(el) {
qtdeRestante = (maxCaracteres - el.value.length);
if (qtdeRestante <= 0) {
el.value = el.value.substr(0,maxCaracteres);
document.formCad.caracteres.value=0;
} else {
document.formCad.caracteres.value=qtdeRestante;
}
}
function exibir() {
document.formCad.caracteres.value=maxCaracteres;
}
window.onload = exibir;
</script>
</head>
<body>
<?php include('_header.php'); ?>
<section>
<div class="limite">
<section class='quad-int'>
<h1 class="barra-topo cinza-claro uppercase"><span>Editar Produto</span></h1>
<form name="formEdit" method="post" action="" enctype="multipart/form-data">
<table width="700" border="0" cellspacing="0" cellpadding="0" class="sem-borda">
<tr>
<td width="129" align="right">Nome do Produto:</td>
<td width="811">
<input type="text" name="nomeProduto" value="<?=$nomeProduto?>" id="nomeProduto" class="form-input">
</td>
</tr>
<tr>
<td align="right">Descrição do Produto:</td>
<td>
<textarea name="descProduto" id="descProduto" maxleght="20" onKeyUp="soma(this)" onKeyChange="soma(this)" cols="45" rows="5" class="form-input" style="width:300px; height:200px;"><?=$descProduto?></textarea> Caracteres restantes: <input type="text" readonly name="caracteres" id="caracteres" class="form-input" size="6"></td>
</tr>
<tr>
<td align="right">Imagem do Produto: </td>
<td>
<input type="file" name="imagemProduto" id="imagemProduto" class="form-input"></td>
</tr>
<tr>
<td align="right">Lançamento? </td>
<td>
<input type="checkbox" value="S" <?=$checked?> name="lancamento" id="lancamento" class="form-input"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="hidden" name="idProduto" id="idProduto" value="<?=$idProduto?>"><input type="submit" name="button" id="button" value="editar" class="button small green"></td>
</tr>
</table>
</form>
</section>
</div>
</section>
<?php include('_footer.php'); ?>
</body>
</html>
Eu dei um echo em $_FILES['imagemProduto'] e está sempre ficando com o valor Array.
Já tentei até fazer
if($_FILES['imagemProduto'] != array()){
já que ambos ai exibem Array e não adiantou. Tá sempre entrando na condição.
Isso tá fazendo com que na hora de dar o update ele apague do banco o nome da imagem, invalidando o caminho.
Quem puder me ajudar ai, ficarei grato.
Até mais.
Carregando comentários...