Pessoal estou tendo dificuldades para alterar 3 imagens no meu formulário, o que acontece é que quando vou alterar por exemplo, ao enviar sem selecionar a imagem, lá no banco os campos ficam vazios. Ou seja se o usuário não selecionar a imagem então elas ficarão sem alterar nada. Alguém pode dar uma ajuda? eu estava olhando este tópico http://scriptbrasil.com.br/forum/index.php...mp;#entry593437, porém não consegui implementar no meu código.
Segue o código:
Arquivo form_alterar.php
<?php
require_once("../bd/areas_bd.php");
require_once("../bd/noticias_bd.php");
require_once("../bd/subArea_bd.php");
$areas = buscaAreas();
$subAreas = buscaSubAreas();
?>
<br/>
<br/>
<?php
if(isset($_GET["idNoticia"])) { //Link para altera��o
Pergunta
Eduardo ALexandre
Bom dia pessoal,
Pessoal estou tendo dificuldades para alterar 3 imagens no meu formulário, o que acontece é que quando vou alterar por exemplo, ao enviar sem selecionar a imagem, lá no banco os campos ficam vazios. Ou seja se o usuário não selecionar a imagem então elas ficarão sem alterar nada. Alguém pode dar uma ajuda? eu estava olhando este tópico http://scriptbrasil.com.br/forum/index.php...mp;#entry593437, porém não consegui implementar no meu código.
Segue o código:
Arquivo form_alterar.php
<?php
require_once("../bd/areas_bd.php");
require_once("../bd/noticias_bd.php");
require_once("../bd/subArea_bd.php");
$areas = buscaAreas();
$subAreas = buscaSubAreas();
?>
<br/>
<br/>
<?php
if(isset($_GET["idNoticia"])) { //Link para altera��o
$idNoticia = $_GET["idNoticia"];
$noticia = buscarNoticiaPorId($idNoticia);
$titulo = $noticia["titulo"];
$texto = $noticia["texto"];
$idArea = $noticia["idArea"];
$idSubArea = $noticia["idSubArea"];
$foto1 = $noticia["foto1"];
$foto2 = $noticia["foto2"];
$foto3 = $noticia["foto3"];
}
?>
<div class=st1" >
<a href="noticias.php"> Lista de noticias </a>
</div>
<div align="center" class="st2">
<form name="form" method="post" action="validaFormulario.php" onSubmit="return checaCampos(this);" enctype="multipart/form-data">
<input type="hidden" name="idNoticia" value="<?php echo $idNoticia ?>" />
<table bgcolor="#EEEEEC" align="center" >
<tr bgcolor="#CCCCCC">
<td colspan="2" ><font size="4" face="Verdana, Geneva, sans-serif">
Informações</font>
</td>
</tr >
<tr>
<td height="60" colspan="2" >Titulo</font>
<input type="text" name="titulo" size="40" value="<?php echo $titulo ?>"></td>
</tr>
<tr height="40">
<td colspan="1" align="left">
Área Site
<select name="idArea" id="idArea">
<option value="0">Escolha uma Área</option>
<?php
while($area = mysql_fetch_array($areas)) {
if($idArea==$area["idArea]) {
echo "<option value='". $area['idArea'] ."' selected>" . $area['nome'] . "</option>";
}else{
echo "<option value=". $area['idArea] ."'>" . $area['nome'] . "</option>";
}
}
?>
</select>
</td>
<td align=right">
Área Menu
<select name="idSubArea" id="idSubArea">
<option value="1">
<?php while($subArea = mysql_fetch_array($subAreas)){
if($idSubArea==$subArea["idSubArea]){
echo "<option value='". $subArea['idSubArea'] ."' selected>" . $subArea['titulo'] . "</option>";
}else{
echo "<option value=". $subArea['idSubArea] ."'>" . $subArea['titulo'] . "</option>";
}
}
?>
</option>
</select>
</td>
</tr>
<tr>
<td colspan=2" bgcolor="#CCCCCC">
<font size="4" face="Verdana, Geneva, sans-serif">
Tópico</font>
</td>
<tr>
<td colspan="2">
<textarea name="texto"><?php echo $texto ?></textarea></td>
</td>
</tr>
</tr>
<tr height="20">
<td colspan="2" bgcolor="#CCCCCC"><font size="4" face="Verdana, Geneva, sans-serif">
Imagens</font>
</td>
</tr>
<tr>
<td colspan="1">
Foto 1
<input type="file" name="Fotos[]" /></td>
<td>
<img src="../fotos2/<?php echo $foto1 ?>">
</td>
</tr>
<tr>
<td>
Foto 2
<input type="file" name="Fotos[]">
</td>
<td>
<img src="../fotos2/<?php echo $foto2 ?>">
</td>
</tr>
<tr>
<td>
Foto 3
<input type="file" name="Fotos[]">
</td>
<td>
<img src="../fotos2/<?php echo $foto3 ?>">
</td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" name="cmdSalvar" value="Enviar"></td>
</tr>
</table>
</form>
</div>
Arquivo: validaFormulario.php
if(isset($_POST['cmdSalvar])) { //Bot�o salvar clicado
//Estraindo os valores do formul�rio HTML
$titulo = $_POST['titulo'];
$texto = $_POST['texto'];
$idNoticia = $_POST['idNoticia'];
$idSubArea = $_POST['idSubArea'];
$idArea = $_POST['idArea'];
$foto1 = "";
$foto2 = "";
$foto3 = "";
$dir=C:/wamp/www/siteV3/fotos/";
$dir_mini="C:/wamp/www/siteV3/fotos2/";
$Conta = 0;
$partes[] = "";
$NomedasFotos[] = "";
$FotosPost[] = "";
$ext = array(".jpg", ".jpeg", ".gif", ".png");
$NomesFotos[] = "";
$Fotos = isset($_FILES["Fotos]) ? $_FILES["Fotos"] : FALSE;
for($i = 0; $i < sizeof($Fotos['name']); $i++){
$Nome = $Fotos['name'][$i];
$Tamanho = $Fotos['size'][$i];
$Tipo = $Fotos['type'][$i];
$Tmpname = $Fotos['tmp_name'][$i];
if ($Nome == "" && $Nome == NULL) {
echo 'Você não enviou nada na posição' . ($i+1) . '<br/>';
if ($FotosPost[$i]!="") {$NomesFotos[] = $FotosPost[$i];}
else { $NomesFotos[] = ""; }
}
else {
preg_match ("/(.*)\.([^.]+)$/", $Nome, $partes);
if(($partes[2] != "jpg") and ($partes[2] != "jpeg") and ($partes[2] != "png") and ($partes[2] != "gif"))
{
echo 'O arquivo ' . ($i+1) . ' não é um arquivo válido.<br/>';
// Faz contagem de enviada com sucesso
$Conta++;
}
else {
// Pega extensão do arquivo
preg_match("/\.(gif|png|jpg|jpeg){1}$/i", $Nome, $ext);
// Retira a extensao do nome do arquivo
$nome_sem_extensao = $Nome;
$nome_sem_extensao = basename ($nome_sem_extensao,".gif");
$nome_sem_extensao = basename ($nome_sem_extensao,".jpeg");
$nome_sem_extensao = basename ($nome_sem_extensao,".jpg");
$nome_sem_extensao = basename ($nome_sem_extensao,".png");
// Retira espaços em branco do nome do arquivo
$nome_banco = str_replace(" ","_",$nome_sem_extensao);
//Gera um nome único para a imagem
$imagem_nome = $nome_banco . "." . md5(uniqid(time())) . "." . $ext[1];
$imagem_nome = md5(uniqid(time())) . "." . $ext[1];
//Diretórios de Gravação das imagens
$Caminho = $dir . $imagem_nome;
$Caminho_mini = $dir_mini . $imagem_nome;
if(move_uploaded_file($Tmpname, $Caminho))
{
echo 'Foto ' . ($i+1) . ' enviada.<br/>';
// Faz contagem de enviada com sucesso
$Conta++;
///cria a miniatura e faz io move_uploaded_file
//IMAGEM A SER ABERTA Nesse momento será o $Caminho pois o upload já foi feito e o arquivo temporario apagado
//CRIA UMA NOVA IMAGEM
if ($ext[1] =="jpg") { $imagem_orig = imagecreatefromjpeg($Caminho); }
else if ($ext[1] =="jpeg") { $imagem_orig = imagecreatefromjpeg($Caminho); }
else if ($ext[1] =="gif") { $imagem_orig = imagecreatefromgif($Caminho); }
else if ($ext[1] =="png") { $imagem_orig = imagecreatefrompng($Caminho); }
//LARGURA
$pontoX = imagesx($imagem_orig);
//ALTURA
$pontoY = imagesy($imagem_orig);
//DEFINE OS PARÂMETROS DA MINIATURA
$largura = 300;
$altura = ($pontoY * $largura) / $pontoX;
//CRIA O THUMBNAIL
$imagem_fin = imagecreatetruecolor($largura, $altura);
//COPIA A IMAGEM ORIGINAL PARA DENTRO
imagecopyresampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY);
//SALVA A IMAGEM
if ($ext[1] =="jpg") { imagejpeg($imagem_fin, $Caminho_mini ,100); }
else if ($ext[1] =="jpeg") { imagejpeg($imagem_fin, $Caminho_mini ,100); }
else if ($ext[1] =="gif") { imagegif($imagem_fin, $Caminho_mini ,100); }
else if ($ext[1] =="png") { imagepng($imagem_fin, $Caminho_mini); }
$NomesFotos[] = $imagem_nome;
//LIBERA A MEMÓRIA
imagedestroy($imagem_orig);
imagedestroy($imagem_fin);
}
else // Erro no envio
{
echo 'Não foi possível enviar a foto' . ($i+1) . '<br/>';
}
}
}
} //FIM DO FOR
$NomeTodasFotos = implode(';',$NomesFotos);
$NomedasFotos = explode(';',$NomeTodasFotos);
$foto1 = $NomedasFotos[1];
$foto2 = $NomedasFotos[2];
$foto3 = $NomedasFotos[3];
if($idNoticia !="") {
$retorno = alterarNoticia($idNoticia, $titulo, $textoFormatado,$idArea,$idSubArea,$foto1,$foto2,$foto3);
}else{
$retorno = inserirNoticia($titulo, $textoFormatado, $idArea, $idSubArea,$foto1,$foto2,$foto3);
}
if($retorno) {//A Query executou com sucesso
echo "Operacao realizada com sucesso";
}else{ //Ocorreu algum erro
echo "Ocorreu algum erro:<br/>";
echo mysql_error();
}
}
Editado por Eduardo ALexandreLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.