Joao Paulo Hildebrand
-
Total de itens
3 -
Registro em
-
Última visita
Posts postados por Joao Paulo Hildebrand
-
-
Fala galera, boa tarde!
Estou com um problema e não consigo resolver de maneira nenhuma. Tenho os códigos e sei a lógica, mas sou bem leigo em PHP MySql, então está muito difícil para mim. Poderiam me ajudar?
Quero fazer o update de uma imagem no banco de dados. Consigo inserir e deletar textos e imagem tranquilamente no banco. Também consigo alterar textos no banco, mas a imagem não consigo de jeito nenhum ... Estou salvando apenas o Patch no banco, a imagem em si está no servidor (por enquanto local).
Páginas: Cadastrar.php que submete metodo_cadastro.php // alterar.php que submete ao metodo_alterar.php
Lógica: Se o campo file não for alterado, não faça nada com a imagem do banco
Senão, ou seja, se ele for alterado, apague a imagem antiga e insira essa nova.
Segue abaixo os códigos:
cadastrar.php
metodo_cadastro.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...ransitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastrar Notícia</title>
<link rel="stylesheet" href="css/style_admin.css" />
</head>
<body>
<div id="alinhamento_cadastro">
<h1>Cadastro de Postagem</h1>
<form action="metodo.php" method="post" enctype="multipart/form-data" name="cadastro" >
<input type="text" name="titulo" class="titulo" placeholder="Título da Postagem" required="required" /><br />
<input type="text" name="resumo" class="resumo" placeholder="Resumo da Postagem" required="required" /><br />
<input type="text" name="autor" class="autor" placeholder="Autor da Postagem" required="required"/><br />
<input type="date" name="data" class="data" placeholder="Data da Postagem" required="required" /><br />
<span class="titulo_categoria">Categoria:</span>
<input type="radio" name="categoria" value="Notícias em Geral" class="radio_btn" />Notícias em Geral <br />
<input type="radio" name="categoria" value="Tecnologia" class="radio_btn2" />Tecnologia
<input type="file" name="foto" class="foto" /><br />
<textarea name="texto" class="texto" placeholder="Texto da Postagem" required="required"></textarea><br />
<button value="Cadastrar" name="cadastrar" class="cadastrar" id="upload">Cadastrar Notícia</button>
<button value="Resetar" name="resetar" class="resetar">Resetar Notícia</button>
</form>
</div><!--alinhamento-->
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...ransitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
// Conex�o com o banco de dados
$conn = @mysql_connect("localhost", "usuario_joao", "250627jp") or die ("Impossível se Conectar");
$db = @mysql_select_db("agencia_conectal_blog", $conn) or die ("Problemas na Conexão");
// Se o usu�rio clicou no bot�o cadastrar efetua as a��es
if ($_POST['cadastrar']) {
// Recupera os dados dos campos
$titulo = $_POST['titulo'];
$resumo = $_POST['resumo'];
$autor = $_POST['autor'];
$data = $_POST['data'];
$radio = $_POST["categoria"];
$foto = $_FILES["foto"];
$texto = $_POST['texto'];
// Se a foto estiver sido selecionada
if (!empty($foto["name"])) {
// Largura m�xima em pixels
$largura = 2000;
// Altura m�xima em pixels
$altura = 2000;
// Tamanho m�ximo do arquivo em bytes
$tamanho = 100000;
// Verifica se o arquivo � uma imagem
if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto["type"])){
$error[1] = "Não é uma imagem válida";
}
// Pega as dimens�es da imagem
$dimensoes = getimagesize($foto["tmp_name"]);
// Verifica se a largura da imagem � maior que a largura permitida
if($dimensoes[0] > $largura) {
$error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
}
// Verifica se a altura da imagem � maior que a altura permitida
if($dimensoes[1] > $altura) {
$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
}
// Verifica se o tamanho da imagem � maior que o tamanho permitido
if($foto["size"] > $tamanho) {
$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
}
// Se n�o houver nenhum erro
if (count($error) == 0) {
// Pega extens�o da imagem
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
// Gera um nome �nico para a imagem
$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
// Caminho de onde ficar� a imagem
$caminho_imagem = "upload_imagens/" . $nome_imagem;
// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
// Insere os dados no banco
$sql = mysql_query("INSERT INTO noticias VALUES ('', '".$titulo."', '".$resumo."', '".$autor."', '".$data."', '".$radio."', '".$nome_imagem."', '".$texto."')");
// Se os dados forem inseridos com sucesso
if ($sql){
echo "Postagem Realizada com Sucesso! <br> <a href=gerenciar.php'>Gerenciar Postagens</a>";
}
}
// Se houver mensagens de erro, exibe-as
// if (count($error) != 0) {
// foreach ($error as $erro) {
// echo $erro . "<br />";
// }
// }
}
}
?>
</body>
</html>
alterar.php
<?phpinclude("../Connections/conexao_banco_agenciaconectal.php");
?>
<?php
$id = $_GET["id];
$sql = mysql_query("select * from noticias where id='$id'");
$exibe = mysql_fetch_assoc($sql);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...ransitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastrar Notícia</title>
<link rel="stylesheet" href="css/style_admin.css" />
</head>
<body>
<div id="alinhamento_cadastro">
<h1>Cadastro de Postagem</h1>
<form action="metodo_alterar.php" method="post" enctype="multipart/form-data" name="cadastro" >
<input name="id" type="hidden" value="<?php echo $exibe["id"] ?>" />
<input type=text" name="titulo" class="titulo" placeholder="Título da Postagem" required="required" value="<?php echo $exibe["titulo] ?>"/><br />
<input type="text" name="resumo" class="resumo" placeholder="Resumo da Postagem" required="required" value="<?php echo $exibe["resumo"] ?>"/><br />
<input type=text" name="autor" class="autor" placeholder="Autor da Postagem" required="required" value="<?php echo $exibe["autor] ?>"/><br />
<input type="date" name="data" class="data" placeholder="Data da Postagem" required="required" value="<?php echo $exibe["data"] ?>"/><br />
<span class=titulo_categoria">Categoria:</span>
<input type="radio" name="categoria" value="Notícias em Geral" class="radio_btn" />Notícias em Geral <br />
<input type="radio" name="categoria" value="Tecnologia" class="radio_btn2" />Tecnologia
<input name="foto" type="hidden" value="upload_imagens/<?php echo $exibe["imagem] ?>"/>
<input type="file" name="foto" class="foto"/><br />
<textarea name="texto" class="texto" placeholder="Texto da Postagem" required="required"><?php echo $exibe["noticia"] ?></textarea><br />
<button value=Cadastrar" name="cadastrar" class="cadastrar" id="upload">Cadastrar Notícia</button>
<button value="Resetar" name="resetar" class="resetar">Resetar Notícia</button>
</form>
</div><!--alinhamento-->
</body>
</html>
metodo_alterar.php
<?phpinclude("../Connections/conexao_banco_agenciaconectal.php");
?>
<?php
$id = $_POST["id];
$titulo = $_POST["titulo"];
$resumo = $_POST["resumo"];
$autor = $_POST["autor"];
$data = $_POST["data"];
$categoria = $_POST["categoria"];
$foto = $_FILES["foto"];
$noticia = $_POST["texto"];
if(mysql_query("update noticias set titulo='$titulo', resumo='$resumo', autor='$autor', data='$data', categoria='$categoria', imagem='$foto', noticia='$noticia' where id='$id'")){
echo "<script>
window.location.href='gerenciar.php';
</script>";
exit;
}else{
echo mysql_error();
exit;
}
?>
-
Seguinte: Estou conseguindo alterar todos os campos normalmente, o único que não altera é a imagem.
Sou leigo em programação.
Quero que o UPDATE atualize a referencia da imagem no banco de dados, apagando e inserindo um novo registro automaticamente.
Muitíssimo obrigado pela ajuda!
Segue meu codigo:
ALTERAR.PHP
<?php include("../Connections/conexao_banco_agenciaconectal.php"); ?> <?php $id = $_GET["id"]; $sql = mysql_query("select * from noticias where id='$id'"); $exibe = mysql_fetch_assoc($sql); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...ransitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Cadastrar Notícia</title> <link rel="stylesheet" href="css/style_admin.css" /> </head> <body> <div id="alinhamento_cadastro"> <h1>Cadastro de Postagem</h1> <form action="metodo_alterar.php" method="post" enctype="multipart/form-data" name="cadastro" > <input name="id" type="hidden" value="<?php echo $exibe["id"] ?>" /> <input type="text" name="titulo" class="titulo" placeholder="Título da Postagem" required="required" value="<?php echo $exibe["titulo"] ?>"/><br /> <input type="text" name="resumo" class="resumo" placeholder="Resumo da Postagem" required="required" value="<?php echo $exibe["resumo"] ?>"/><br /> <input type="text" name="autor" class="autor" placeholder="Autor da Postagem" required="required" value="<?php echo $exibe["autor"] ?>"/><br /> <input type="date" name="data" class="data" placeholder="Data da Postagem" required="required" value="<?php echo $exibe["data"] ?>"/><br /> <span class="titulo_categoria">Categoria:</span> <input type="radio" name="categoria" value="noticias_em_geral" class="radio_btn" />Notícias em Geral <br /> <input type="radio" name="categoria" value="tecnologia" class="radio_btn2" />Tecnologia <input name="foto" type="hidden" /> <input type="file" name="foto" class="foto" value="<?php echo $exibe["foto"] ?>"/><br /> <textarea name="texto" class="texto" placeholder="Texto da Postagem" required="required"><?php echo $exibe["noticia"] ?></textarea><br /> <button value="Cadastrar" name="cadastrar" class="cadastrar" id="upload">Cadastrar Notícia</button> <button value="Resetar" name="resetar" class="resetar">Resetar Notícia</button> </form> </div><!--alinhamento--> </body> </html>
METODO_ALTERAR.PHP<?php include("../Connections/conexao_banco_agenciaconectal.php"); ?> <?php $id = $_POST["id"]; $titulo = $_POST["titulo"]; $resumo = $_POST["resumo"]; $autor = $_POST["autor"]; $data = $_POST["data"]; $categoria = $_POST["categoria"]; $foto = $_FILES["foto"]; $noticia = $_POST["texto"]; if(mysql_query("update noticias set titulo='$titulo', resumo='$resumo', autor='$autor', data='$data', categoria='$categoria', imagem='$foto', noticia='$noticia' where id='$id'")){ echo "Postagem Alterada com Sucesso! <br> <a href='gerenciar.php'>Voltar</a>"; exit; }else{ echo mysql_error(); exit; } ?>
Alterar imagem Banco de Dados
em PHP
Postado
valeu amigo!!! mas este tuto é de Upload, e upload eu estou conseguindo normalmente. Meu problema está no Update :/ Sei que o script deste site vai me ajudar, pois o código de upload de imagens entra dentro do update (as configurações permitidas da imagem, como tamanho, dimensão, extensão, etc.). Mas como sou leigo em programação, isso está bem complicado para mim ...
Mas obrigado mesmo assim! Quem puder ajudar, ficaria muito agradecido