Pitag346 0 Denunciar post Postado Fevereiro 8, 2015 Olá pessoal, tenho um sistema que ele faz upload de imagens e gera um nome MD5 para elas... ok! na parte para cadastrar o nome da imagem no banco de dados ele simplesmente não efetua o cadastro... esse sistema de imagem é a imagem de perfil onde o usuário coloca a imagem dele e poderá trocar instantaneamente quando ele bem quiser... tenho a seguinte função, na logica ela faz o upload envia para pasta, e muda o nome dela para um nome MD5... e por fim o sistema cadastra no banco de dados na table nome_imagem, o nome da imagem e no perfil do usuário eu puxo ela depois. o problema é que não estou conseguindo cadastrar essa imagem... segue o codigo abaixo: <?php require_once('../system/func/conf.php'); $cod = $_SESSION['cod']; ?> <?php if ($_POST['cadastrar']) { // Recupera os dados dos campos $foto = $_FILES["foto"]; // Se a foto estiver sido selecionada if (!empty($foto["name"])) { // Largura máxima em pixels $largura = 132; // Altura máxima em pixels $altura = 107; // Tamanho máximo do arquivo em bytes $tamanho = 1000000; // Verifica se o arquivo é uma imagem if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $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 = "img_perfil/" . $nome_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($foto["tmp_name"], $caminho_imagem); // Insere os dados no banco essa linha abaixo: não estou conseguindo efetuar o cadastro, e no // caso teria que executar um WHERE pra cadastrar a imagem conforme o id do usuario... no meu // caso o codigo. não sei como fazer alguem poderia ajudar! AGRADEÇO! $sql = mysql_query("INSERT INTO acesso nome_imagem VALUES ('$nome_imagem')"); 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 . " "; } } } } ?> Ps. Escrevi o titulo do tópico errado -.- Compartilhar este post Link para o post Compartilhar em outros sites
RaulMC 0 Denunciar post Postado Fevereiro 8, 2015 Ja verificou se a conexão esta funcionado corretamente, caso a resposta for sim, verifique a permissão do ususario, caso esteja tudo okuse isso para saber qual o erro esta acontecendo na chamada:http://php.net/manual/en/function.mysql-field-flags.phphttp://php.net/manual/en/function.mysql-info.php Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 9, 2015 Veja este tópico. Habilite as exibições de erro (display_errors e error_reporting) e também use o "or die" na linha do mysql_query. Execute de novo e veja quais erros aparecem. Poste-os aqui PS: funções mysql_* estão obsoletas desde o PHP 5.5. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql Compartilhar este post Link para o post Compartilhar em outros sites