Jump to content
unset

Verificar formulário com dois $_FILES vazios

Recommended Posts

Olá... estou com um pequeno problema de lógica no meu sistema, e ainda não encontrei a solução se alguém puder ajudar

 

Bom eu tenho um formulário onde contem dois campos, onde um serve para selecionar imagens e o outro para selecionar arquivos, da seguinte forma

 

<form name="cadastrar" method="post" enctype="multipart/form-data">
  <input type="file" multiple name="imagens[]" accept=".jpg, .jpeg, .png, .gif"/>
  <input type="file" multiple name="arquivos[]" accept=".pdf" />
</form>

e no php eu verifico se eles estão vazios para chamar suas classes que fazem o resto, cadastrar no banco, enviar os arquivos etc...

 

if (!empty($_FILES['imagens']['tmp_name'])):
            $imagens = new AdminPostagensImagens();
            $imagens->enviarImagens($_FILES['imagens'], $id);

 endif;

if (!empty($_FILES['arquivos']['tmp_name'])):
            $arquivos = new AdminPostagensArquivos();
            $arquivos->enviarArquivos($_FILES['arquivos'], $id);
            echo 'saporra não pode carregar vazio';
 endif;

porém ao deixar o campo de enviar imagens vazio mesmo assim ele esta entrando na condição e chamando a classe, não sei onde está o erro, se alguém puder ajudar fico grato.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By fideles
      Fala pessoal, tudo na paz? Como anda a quarentena ? Todos se cuidando....
       
      Seguinte, uma dúvida ou navalhada minha,
       
      Tenho um form simples, básico mesmo onde trampo, só para fazermos levantamento quando alguém chega.
       
      Nome da pessoa
      Um regime de contratação (CLT ou PJ) (input do tipo radio) (Nos value dos input radio tem CLT e PJ)
      Nome da empresa (campo oculto) (aqui funciona na boa)
       
      Preciso fazer com que se a pessoa clicar em PJ fazer ela preencher obrigatoriamente o campo "Nome da empresa" se ela for CLT não faz nada.
       
      Já tentei da seguinte forma e não da certo, talvez esteja errando por bobeira.
       
      if(empty($tipo_contratacao == "PJ")) { echo "<meta http-equiv='refresh' content='0; pesquisa_retorno_2.php'><script>alert('O campo nome da empresa não foi preenchido')</script>" ; return false; }  
      Alguém tem uma luz ?
       
      Obrigado.
    • By Alberto Nascimento
      Como faço para inserir data e horário no campo abaixo?
       
      <input name="horarioatual" id="horarioatual" style="width: 366px" type="text" />  
      Quando utilizava no PHP 5.3 funcionava com "echo", porém agora não esta mais quando estou utilizando o PHP 5.6
       
      <?php echo "$date"; ?>  
    • By Alberto Nascimento
      Estou utilizando agora PHP 7.2 em meu servidor e gostaria de saber onde consigo baixar ou se teriam algum exemplo de formulario PHP que inserisse dados em um banco de dados mysql.
       
      Utilizo o seguinte abaixo:
       
      index.php
      <?php session_start(); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <title>CRUD - Cadastrar</title> </head> <body> <h1>Cadastrar Usuário</h1> <?php if(isset($_SESSION['msg'])){ echo $_SESSION['msg']; unset($_SESSION['msg']); } ?> <form method="POST" action="processa.php"> <label>Nome: </label> <input type="text" name="nome" placeholder="Digite o nome completo"><br><br> <label>E-mail: </label> <input type="email" name="email" placeholder="Digite o seu melhor e-mail"><br><br> <input type="submit" value="Cadastrar"> </form> </body> </html> processa.php
       
      <?php session_start(); include_once("conexao.php"); $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL); //echo "Nome: $nome <br>"; //echo "E-mail: $email <br>"; $result_usuario = "INSERT INTO usuarios (nome, email, created) VALUES ('$nome', '$email', NOW())"; $resultado_usuario = mysqli_query($conn, $result_usuario); if(mysqli_insert_id($conn)){ $_SESSION['msg'] = "<p style='color:green;'>Usuário cadastrado com sucesso</p>"; header("Location: index.php"); }else{ $_SESSION['msg'] = "<p style='color:red;'>Usuário não foi cadastrado com sucesso</p>"; header("Location: index.php"); } conexao.php
      <?php $servidor = ""; $usuario = ""; $senha = ""; $dbname = ""; //Criar a conexao $conn = mysqli_connect($servidor, $usuario, $senha, $dbname); Com isto, esta retornando as mensagens de erro abaixo:
      Linha: 8
       
      Linha: 12
       
      Linha: 14
       
      Obrigado desde já !!
    • By leandromaehler
      FormGenerator
       
      Fala galera. Criei esse gerador de formulário de contato.
      Obs.: totalmente livre de créditos do desenvolvedor. (FreeSource)
      Ele tem mascara de telefone que serve para telefone e celular.
      Campos obrigatórios.
      E validação de e-mail.
       
      Eu fiz isso para o meu pai. Pois ele nunca consegue configurar o arquivo enviar do phpmailer.
       
      Ficou bem fácil de usar.
      Na primeira página coloque a quantidade de campos você deseja no formulário.
      Ex.: nome, e-mail, telefone, assunto, mensagem. (5 campos).
       
      No segundo formulário.
      Escreva o nome do campo.
      Ex.: nome: e-mail tipo: e-mail obrigatório checado.
       
      No terceiro formulário você adiciona o Nome que aparecerá junto ao e-mail na mensagem.
      Ex.: Leandro <leandro@maehler.com.br>
      Assunto irá aparecer no assunto do e-mail.
      A senha não é obritatória no site
      Mas é obrigatória no arquivo enviar.php
       
      Caso tenham alguma dúvida ou erros. Favor postar.
      Obs.: eu ainda não fiz a validação dos campos obrigatórios.
      Mas o primeiro e terceiro formulários.
      Todos os campos são obrigatórios.
       
      Quem usa gmail hotmail
      Usar a porta que indica na configuração do mesmo.
       
      A página contato.php não tem css.
      Adicionar as tags dentro do head
      E no fim da página
      Como específicado no arquivo.
      E utilizar as classes.
       
      Se a api bombar, eu crio ele estilo página completa e/ou implementação em url.
      Ex.: seusite.com.br/contato.html
      Adicione o link e ele gera a página emcima da sua página já criada.
       
      Bom proveito
    • By leandrodesouza14
      Tenho uma duvida.
       
      Estou recebendo dados de um formulário HTML através do método POST. Um desses dados provem de um campo Select com diversos Options.
       
      Eu vou inserir os dados recebidos dos diversos imputs em varias tabelas, qual das tabelas vai depender do que o usuário selecionar no Select.
       
      Por exemplo: Se a pessoa selecionar BMW no Select, os dados do restante do formulário devem ser inseridos na tabela BMW. / Se a pessoa selecionar Fiat no Select, os dados do restante do formulário devem ser inseridos na tabela Fiat.
       
      O codigo que desenvolvi ate agora foi esse:
       
      <form action="cadastrodeveiculo.php" method="post" name="cadastroveiculo"> <p> Fabricante: <select name="marca"> <option value="audi" >Audi</option> <option value="bmw">BMW</option> <option value="chevrolet">Chevrolet</option> <option value="citroen">Citroen</option> <option value="fiat">Fiat</option> <option value="ford">Ford</option> <option value="hyundai">Hyundai</option> <option value="honda">Honda</option> <option value="jeep">Jeep</option> <option value="mb">Mercedes-Benz</option> <option value="mitsubishi">Mitsubishi</option> <option value="nissan">Nissan</option> <option value="peugeot">Peugeot</option> <option value="renault">Renault</option> <option value="toyota">Toyota</option> <option value="volkswagen">Volkswagem</option> </select> Modelo: <input type="text" id="modelo" name="modelo" maxlength="50"> Versao: <input type="text" id="versao" name="versao" maxlength="100"> Ano: <input type="text" id="ano" name="ano" maxlength="12"> Link: <input type="text" id="link" name="link" maxlength="300"> </p> <input class="submit" type="submit" name="cadastrar" value="Cadastrar"> </form> O codigo PHP, da pagina cadastroveiculo.php e o seguinte:
       
      <?php $conn = mysqli_connect("localhost", "leandro", "123", "afxveiculos"); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; $tabela = $_POST['marca']; $modelo = $_POST['modelo']; $versao = $_POST['versao']; $ano = $_POST['ano']; $link = $_POST['link']; $sql = "INSERT INTO (modelo, versao, ano, link) VALUES ('$modelo', '$versao', '$ano', '$link')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); header("location: cadastroesquema.html"); ?> Deixei o Insert Into vazio pois não sei que colocar la.
       
      Obrigado galera!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.