Ir para conteúdo

POWERED BY:

Arquivado

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

Cicarelo

Envio de imagem para o banco via formulario

Recommended Posts

Ola Pessoal, estou estudando um pouco de php e banco de dados. Estou criando um sisteminha pra gerenciar o conteúdo do site. Não estou conseguindo fazer o upload da imagem para o banco. Se vocês puderem ajudar. tentei fazer com outros códigos mas esse foi o melhor funcionou com as outras infos do form.

Obrigado

Formulario:

<form name="cad-produtos" method="post" action="enviar-produto.php" enctype="multipart/form-data">
<div class="form-group">
<label for="exampleInputEmail1">Nome do Produto</label>
<input type="text" class="form-control" id="exampleInputEmail1" name="p_name" placeholder="Nome do produto">
</div>

<div class="form-group">
<label for="exampleInputEmail1">Codigo do Produto</label>
<input type="text" class="form-control" id="exampleInputEmail1" name="p_cod" placeholder="Codigo do Produto">
</div>

<div class="form-group">
<label for="exampleInputPassword1">Linha do produto</label>
<select class="form-control" name="p_cat">
<option>Linha Endereçavel</option>
<option>Liha Convencional</option>
<option>Linha de Acessórios</option>
<option>Linha de Combate</option>
</select>
</div>
<label for="exampleInputEmail1">Descrição do Produto</label>
<textarea class="form-control" rows="3" name="p_desc"></textarea>

<div class="form-group">
<label for="exampleInputFile">File input</label>
<input type="file" id="exampleInputFile" name="p_img">
<p class="help-block">Example block-level help text here.</p>
</div>

<input type="submit" class="btn btn-default" name="cadastrar">
</form>

<?php
//verifica se existe conexão com bd, caso não tenta criar uma nova
$conexao = mysql_connect("localhost","root","root") //porta, usuário, senha
or die("Erro na conexão com banco de dados"); //caso não consiga conectar mostra a mensagem de erro mostrada na conexão

$select_db = mysql_select_db("skyfire"); //seleciona o banco de dados

//Abaixo atribuímos os valores provenientes do formulário pelo método POST
$nome = $_POST["p_name"];
$categoria = $_POST["p_cat"];
$codigo = $_POST["p_cod"];
$descricao = $_POST["p_desc"];

$string_sql = "INSERT INTO produtos (id,nome,categoria,codigo,descricao) VALUES (null,'$nome','$categoria','$codigo','$descricao')"; //String com consulta SQL da inserção

mysql_query($string_sql,$conexao); //Realiza a consulta

if(mysql_affected_rows() == 1){ //verifica se foi afetada alguma linha, nesse caso inserida alguma linha
echo "<p>Cadastro feito com sucesso</p>";
echo '<a href="index.php">Voltar para formulário de cadastro</a>'; //Apenas um link para retornar para o formulário de cadastro
} else {
echo "Erro, não possível inserir no banco de dados";
}

mysql_close($conexao); //fecha conexão com banco de dados
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve amigo , tudo bem ? ...

Então vendo o código reparei que está usando o MYSQL ( Drive para o BD ) recomendo você usar o MYSQLi com i no fim kkk , que é simples como o MYSQL e está atualizado assim evita problemas de erros e warnings do servidor.

Outra dica que dou é não salvar a Imagem direto no Banco de dados para evitar um tamanho muito grande, processamento do servidor, e até mesmo para facilitar o gerenciamento das mesmas. O que eu recomendo é criar uma pasta no servidor e com o php colocar a imagem nesta pasta, renomeia a foto com um MD5 do nome e hora completo para evitar nomes parecidos e por fim salva apenas o caminho no banco de dados.

Referente ao seu código .. você capturou as variais com o $_post porem você não capturou o campo p_img, eles esta apenas no HTML.

Não achei outro erro no código caso você corrija e ainda de problema , poste o erro que está gerando

Abraço... Bons estudos .

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por ILR master
      Fala galera, tudo certo?
       
      Seguinte: No servidor A estou tentando fazer uma consulta com o servidor B, mas está dando erro.
      Estou usando o mesmo código de conexão do servidor B que funciona perfeitamente, mas no servidor A, dá erro.
      Segue código:
       
      $host = 'servidor B';
      $user = 'user';
      $pass = '********';
      $db   = 'banco';
       
      // conexão e seleção do banco de dados
      $conexao = mysqlI_connect($host, $user, $pass, $db);
      mysqlI_set_charset($conexao,"utf8");
      //print "Conexão rodando e OK!"; 
      //mysqlI_close($conexao);
       
      Alguém pode me ajudar?
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.