Ir para conteúdo

Arquivado

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

dexter.senne

[Resolvido] Problemas com Alteração do diretório da foto no banco

Recommended Posts

Olá pessoal já vi praticamente todos os tópicos que existem sobre o cadastro de imagens no banco...

 

porem meu objetivo é um pouco diferente das outras dúvidas...

 

queria saber como dar um UPDATE NO BANCO COM O DIRETÓRIO DA FOTO....

 

minha ideia é que o cliente faça um cadastro no site e somente depois quando estiver no painel dele ele consiga colocar um foto em seu perfil...

 

tenho um código de INSERT mais se eu o fizer depois ele ira criar uma linha nova no banco ao invés de inserir no campo onde deveria...

 

Segue o código que estou utilizando o encontrei em um forum...

se eu der o insert a imagem até é cadastrada no banco, porem quero altera-la pois minha intenção é que o usuário se cadastre com ela no valor null e somente no painel ele consiga cadatra-la ==(alterar seu valor)...

 

 

form.php

<?php

@session_start();

include ("conexao.php");

 

if (isset($_SESSION['email'])) {

$email = $_SESSION['email'];

$sql = "SELECT * FROM CLIENTE WHERE email = '$email'";

$resultado = mysql_query($sql) or die ("não foi possivel executar". mysql_error());

 

$linha = mysql_fetch_array($resultado);

 

$id = $linha['id'];

 

} else {

echo "Algo deu errado na hora da listagem com os Dados do Cliente";

}

 

?>

 

<html>

<head>

</head>

 

<body>

 

<form method="post" action="envia_foto.php" enctype="multipart/form-data">

 

<table>

<tr>

<td>

Foto:

</td>

<td>

<input type="hidden" name="id" value="<?php echo $id ?>" />

<input type="file" name="foto" id="foto" />

</td>

</tr>

<tr>

<td>

 

</td>

<td>

<input type="submit" name="cadastrar" value="Enviar" />

</td>

</tr>

</table>

</form>

 

</body>

 

 

</html>

 

 

 

 

 

envia_foto.php

 

 

 

 

<?php

// Conexão com o banco de dados

/*$conn = @mysql_connect("localhost", "root", "") or die ("Problemas na conexão.");

$db = @mysql_select_db("banco", $conn) or die ("Problemas na conexão");*/

include ("conexao.php");

 

// Se o usuário clicou no botão cadastrar efetua as ações

if ($_POST['cadastrar']) {

 

// Recupera os dados dos campos

$foto = $_FILES["foto"];

 

 

//recupera a id do cliente

$id = $_POST['id'];

echo $id;

 

// Se a foto estiver sido selecionada

if (!empty($foto["name"])) {

 

// Largura máxima em pixels

$largura = 1024;

// Altura máxima em pixels

$altura = 1024;

// Tamanho máximo do arquivo em bytes

$tamanho = 200000;

 

// Verifica se o arquivo é uma imagem

if(@!eregi("^image\/(pjpeg|jpeg|png|gif|bmp|jpg)$", $foto["type"])){

$error[1] = "Isso não é uma imagem.";

}

 

// 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 = "image/" . $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 cliente

//(fotos)

// VALUES ('$nome_imagem')");

 

$sql = mysql_query("UPDATE cliente SET

foto = '$caminho_imagem'

WHERE id = '$id';

");

 

 

// Se os dados forem inseridos com sucesso

if($sql){

echo "Você foi cadastrado com sucesso.";

}

}

 

// Se houver mensagens de erro, exibe-as

if (count(@$error) != 0) {

foreach ($error as $erro) {

echo $erro . "<br />";

}

}

}

}

?>

 

<!--o nome do banco de dados eu troquei, mas o erro não é nele.-->

 

<?php

$sql = mysql_query("SELECT * FROM cliente ORDER BY nome");

 

while ($cliente = mysql_fetch_object($sql)) {

echo "<img src='image/".$cliente->fotos."' alt='Foto de exibição' /><br />";

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deveria estar dando um UPDATE, você usou SELECT, INSERT mas não UPDATE D:

UPDATE tabela_aqui SET coluna = novo_registro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deveria estar dando um UPDATE, você usou SELECT, INSERT mas não UPDATE D:

UPDATE tabela_aqui SET coluna = novo_registro

 

 

Na verdade acabei utilizando sim, no código acima esta os dois o de insert e update.

onde o de insert esta comentado...

 

Mas ontem mesmo consegui...

 

Muito obrigado pela ajuda ;D

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.