Good friends, I have a small problem inserting image into the database
function apresenta_formulario() {
if (isset($_GET['id_publicidade'])){
$ligacao = mysqli_connect("localhost", "root", "", "publicidades");
if (mysqli_connect_errno()) {
echo "Erro na liga��o MySQL: " . mysqli_connect_error();
}
$sql = "select * from publicidade where id_publicidade = '" . $_GET['id_publicidade'] . "'";
$resultado = mysqli_query($ligacao, $sql);
$registo = mysqli_fetch_assoc($resultado);
$descricao=$registo['descricao'];
?>
<form name="upload_imagem" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p>Alterar Publicidade nº <?php echo $_GET["id_publicidade"]; ?> </p>
<p>Nome da publicidade <input type="text" name="nome" size="50" value="<?php echo $registo["nome"]; ?>"></p>
<label for="file">Ficheiro:</label>
<input type="file" name="file"/>
<br>
<p>Categoria <input type="text" name="categoria" size="50" value="<?php echo $registo["categoria"]; ?>"></p>
<p>Visualizações <input type="text" name="visualizacoes" size="50" value="<?php echo $registo["visualizacoes"]; ?>"></p>
<p>Estado <input type="text" name="estado" size="50" value="<?php echo $registo["estado"]; ?>"></p>
<p>Coordenada X <br><input type="text" name="x" size="50" id="CorX" value="<?php echo $registo["x"]; ?>"></p>
<p>Coordenada Y <br><input type="text" name="y" size="50" id="CorY" value="<?php echo $registo["y"]; ?>"></p>
<p><input type="submit" name="alterar"></p>
<p> <input type="reset" name="reset"></p>
<input name="id_publicidade" value="<?php echo $_GET["id_publicidade"]; ?>" type="hidden">
</form>
<p id="registo" style="height: 400px"></p>
<?php
mysqli_close($ligacao);
}
else{
header("Location: listar.php");
}
}
// fun��o respons�vel pelo processamento do formul�rio (tudo c�gido PHP)
function processa_formulario() {
define ("MAX_SIZE","1000");
//Função que devolve a extensão de um ficheiro
function getExtension($str)
{
$i = strrpos($str,".");
if (!$i)
{
return "";
}
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$nome = $_POST['nome'];
$categoria=$_POST['categoria'];
$visualizacoes = $_POST['visualizacoes'];
$estado=$_POST['estado'];
$x=$_POST['x'];
$y=$_POST['y'];
$image = $_FILES['file']['name'];
$codigo = $_POST["id_publicidade"];
//Verifica se existe alguma imagem para ser importada
if($image)//Existe uma imagem para ser importada
{
//Retira os elementos "/"
$filename = stripslashes($_FILES['file']['name']);
//Verifica qual a extensão do ficheiro
$extension = getExtension($filename);
//Coloca todos os caracteres da extensão com letra minuscula
$extension = strtolower($extension);
//Verifica os formatos de imagem que podem ser importados
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "gif"))//Formato diferente dos permitidos
{
//print error message
echo "<strong>Imagem:</strong> Este formato não pode ser importado! Utilize o formato jpg ou gif";
}
else//Formato permitido
{
//Verifica qual o tamanho da imagem seleccionada
$size=filesize($_FILES['file']['tmp_name']);
//Verifica se o tamanho é superior a 100kb
if ($size > MAX_SIZE*1024)//tamanho superior
{
echo 'A imagem não pode exceder o tamanho de '. MAX_SIZE .'kb';
}
else//tamanho inferior
{
//Gera um nome para a imagem
$image_name=time().'.'.$extension;
$img=$image_name;
if (move_uploaded_file($_FILES['file']['tmp_name'], "imagens/".$image_name)) {
$ligacao = mysqli_connect("localhost","root","","publicidades");
if (mysqli_connect_errno()) {
echo "Erro na ligação MySQL: " . mysqli_connect_error();
}
echo $nome;
$sql = "update publicidade set id_publicidade='".$codigo."', nome='".$nome."', descricao='".$image_name."', categoria='".$categoria."', estado='".$estado."', visualizacoes ='".$visualizacoes."', x= '".$x."' , y='".$y."' where id_publicidade = '".$codigo."' ";
$resultado = mysqli_query($ligacao, $sql);
if($resultado)
{
$id_imagem = mysqli_insert_id($ligacao);
echo "Editado com sucesso";
}
else
{
echo "Não foi possível efectuar o upload da imagem (nome para a base de dados)";
}
}
}
}
}
else//Não existe nenhuma imagem para ser importada
{
$sql5 = "update publicidade set id_publicidade='".$codigo."', nome='".$nome."', estado='".$estado."', visualizacoes ='".$visualizacoes."', x= '".$x."' , y='".$y."' where id_publicidade = '".$codigo."' ";
$resultado = mysqli_query($ligacao, $sql5);
}
mysqli_close($ligacao);
Well, the problem is the following, if I want to change an advertisement, if I change the image and change the various fields, the program works fine, but if my goal is just to change the fields without moving the image, what happens is which in addition to creating repeated records in the database, it does not change anything and I do not know why.