Ir para conteúdo
Fórum Script Brasil
  • 0

Inserção ao banco de dados - Ajuda.


Progamador - Joao

Pergunta

Olá. eu criei um sistema de inserção a o banco de dados com o upload de fotos, porem os arquivos são inseridos no banco de dados apenas se todos os campos tiver preenchido... eu gostaria que mesmo sem ter um campo preenchido os arquivos fossem inseridos. me ajudem ... codigo abaixo.

if(isset($_POST['acao']) && $_POST['acao'] =='cad'){

    $nome = $_POST['titulo'];
    $bdescricao = $_POST['bdescricao'];
    $descricao =  $_POST ['descricao'];
    $equipamentos =  $_POST ['equipamentos'];
    $valor =  $_POST ['valor'];

    $foto = $_FILES["foto"];
    $foto1 = $_FILES['foto1'];
    $foto2 = $_FILES['foto2'];
    $foto3 = $_FILES['foto3'];
    $foto4 = $_FILES['foto4'];

    // Recupera os dados dos campos



    // Se a foto estiver sido selecionada
    if (!empty($foto["name"])) {

        // Largura máxima em pixels
        $largura = 5000;
        // Altura máxima em pixels
        $altura = 5000;
        // Tamanho máximo do arquivo em bytes
        $tamanho = 10000000000;

        // Verifica se o arquivo é uma imagem
        if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto["type"])){
            $error[1] = "Isso não é uma imagem.";
            } 
            if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto1["type"])){
            $error[1] = "Isso não é uma imagem.";
            } 
                    if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto2["type"])){
            $error[1] = "Isso não é uma imagem.";
            } 
                    if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto3["type"])){
            $error[1] = "Isso não é uma imagem.";
            } 
                    if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto4["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);
            preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto1["name"], $ext);
            preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto2["name"], $ext);
            preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto3["name"], $ext);
            preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto4["name"], $ext);            

            // Gera um nome único para a imagem
            $nome_imagem = md5(uniqid(time())) . "." . $ext[1];
            $nome_imagem1 = md5(uniqid(time())) . "." . $ext[1];
            $nome_imagem2 = md5(uniqid(time())) . "." . $ext[1];
            $nome_imagem3 = md5(uniqid(time())) . "." . $ext[1];
            $nome_imagem4 = md5(uniqid(time())) . "." . $ext[1];    

            // Caminho de onde ficará a imagem
            $caminho_imagem = "fotos/" . $nome_imagem;
            $caminho_imagem1 = "fotos/" . $nome_imagem1;
            $caminho_imagem2 = "fotos/" . $nome_imagem2;
            $caminho_imagem3 = "fotos/" . $nome_imagem3;
            $caminho_imagem4 = "fotos/" . $nome_imagem4;

            // Faz o upload da imagem para seu respectivo caminho
            move_uploaded_file($foto["tmp_name"], $caminho_imagem);
            move_uploaded_file($foto1["tmp_name"], $caminho_imagem1);
            move_uploaded_file($foto2["tmp_name"], $caminho_imagem2);
            move_uploaded_file($foto3["tmp_name"], $caminho_imagem3);
            move_uploaded_file($foto4["tmp_name"], $caminho_imagem4);
            // Insere os dados no banco


 $sql = mysql_query("INSERT INTO novos (titulo,descricao1,descricao2,equipamentos,valor,imagem,imagem1,imagem2,imagem3,imagem4) VALUES ('$nome ','$bdescricao','$descricao','$equipamentos','$valor','$nome_imagem','$nome_imagem1','$nome_imagem2','$nome_imagem3','$nome_imagem4')");

            echo'&lt;script> alert("insetido com Sucesso.");</script>';
        
        }
    }
}

?>

Editado por Progamador - Joao
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Bom a unica verificação de campo que você passou nessa página que da se a entender foi essa, as demais são de vericação de extensão das imagens e tamanho dos arquivos.

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

O Script está verificando se o campo "name" não se encontra vazio. Se ele estiver vazio ele não insere, caso contrario ele insere os valores e faz upload das imagens caso os "if"s abaixo estejam de acordo.

Se quiser o resultado de fazer upload mesmo que este campo esteja vazio experimente tirar esse "if" para ver.

Editado por Del Palmis
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...