Jump to content
Fórum Script Brasil
  • 0

Validar campo verificando se o preenchimento está correto


marcusufsj

Question

Olá pessoal, tudo jóia?

Gostaria de contar com a ajuda dos feras aqui do fórum para validar se o campo produto do meu formulário tem exatamente o mesmo registro de uma coluna do banco, é possível?

Esse formulário é adaptado de um repositório que encontrei no git, como NÃO SOU dev fui apenas adaptando para minhas necessidades com o pouco que eu sei.

A questão agora é só deixar o usuário submeter o form se o dado que ele preencheu no "produto" existir dentro de outra tabela, mais ou menos como se fosse uma verificação de login.

<style type="text/css">
<!--

.style1 {
	color: #FF0000;
	font-size: medium;
}
		
}


-->
</style>

<?php
require 'banco.php';
//Acompanha os erros de validação

// Processar so quando tenha uma chamada post
			

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $produtoErro = null;
    $quantidadeErro = null;
    $colaboradorErro = null;
    
	
    if (!empty($_POST)) {
        $validacao = True;
        $novoUsuario = False;
        if (!empty($_POST['produto'])) {
            $produto = $_POST['produto'];
        } else {
            $produtoErro = 'Insira o produto!';
            $validacao = False;
        }


        if (!empty($_POST['quantidade'])) {
            $quantidade = $_POST['quantidade'];
        } else {
            $quantidadeErro = 'Digite a quantidade!';
            $validacao = False;
        }


        if (!empty($_POST['colaborador'])) {
            $colaborador = $_POST['colaborador'];
        } else {
            $colaboradorErro = 'Digite seu nome!';
            $validacao = False;
        }
		
		}
			$setor = $_POST['setor'];	
            $observacao = $_POST['observacao'];
            $lote = $_POST['lote'];
	
	//Inserindo no Banco:
    if ($validacao) {
        $pdo = Banco::conectar();
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = "INSERT INTO retirada (data, produto, quantidade, colaborador, setor, observacao, lote, valida_op) VALUES(NOW(),?,?,?,?,?,?,'valida')";
        $q = $pdo->prepare($sql);
        $q->execute(array($produto, $quantidade, $colaborador, $setor, $observacao, $lote));
        Banco::desconectar();
        header("Location: retirada.php");
    }
}
?>
<script>
	

</script>



<!DOCTYPE html>
<html lang="pt-br">

<head>
    <meta charset="utf-8">
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="assets/css/bootstrap.min.css">
	<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
    <title>Retirada</title>
</head>

<body>
<div class="container">
    <div clas="span10 offset1">
        <div class="card">
            <div class="card-header">
                <h3 class="well"> Cadastro de retirada </h3>
									
            </div>
            <div class="card-body">
                <form class="form-horizontal" action="retirada.php" method="post">

                    <div class="control-group  <?php echo !empty($produtoErro) ? 'error ' : ''; ?>">
                        <label class="control-label">Produto:</label><span class="style1">*</span>
                        <div class="controls">
                            <input size="50" class="form-control" name="produto" id="produto" type="text" placeholder="Escaneie o cód. do produto"
                                   value="<?php echo !empty($produto) ? $produto : ''; ?>">
                            <?php if (!empty($produtoErro)): ?>
                                <span class="text-danger"><?php echo $produtoErro; ?></span>
                            <?php endif; ?>
                        </div>
                    </div>

                    <div class="control-group <?php echo !empty($quantidadeErro) ? 'error ' : ''; ?>">
                        <label class="control-label">Quantidade:</label><span class="style1">*</span>
                        <div class="controls">
                            <input size="80" class="form-control" name="quantidade" type="number" placeholder="Digite a quantidade"
                                   value="<?php echo !empty($quantidade) ? $quantidade : ''; ?>">
                            <?php if (!empty($quantidadeErro)): ?>
                                <span class="text-danger"><?php echo $quantidadeErro; ?></span>
                            <?php endif; ?>
                        </div>
                    </div>

                    <div class="control-group <?php echo !empty($colaboradorErro) ? 'error ' : ''; ?>">
                        <label class="control-label">Colaborador:</label><span class="style1">*</span>
                        <div class="controls">
                            <input size="35" class="form-control" name="colaborador" type="text" placeholder="Digite seu nome"
                                   value="<?php echo !empty($colaborador) ? $colaborador : ''; ?>">
                            <?php if (!empty($colaboradorErro)): ?>
                                <span class="text-danger"><?php echo $colaboradorErro; ?></span>
                            <?php endif; ?>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label">Setor:</label>
                        <div class="controls">
                            <input size="40" class="form-control" name="setor" type="text" placeholder="Setor de destino">                      
                        </div>
                    </div>
					
					 <div class="control-group">
                        <label class="control-label">Observações:</label>
                        <div class="controls">
                            <input size="40" class="form-control" name="observacao" type="text" placeholder="Observações">                      
                        </div>
                    </div>
					
					 <div class="control-group">
                        <label class="control-label">Lote(APENAS para PCR):</label>
                        <div class="controls">
                            <input size="40" class="form-control" name="lote" type="text" placeholder="Lote do(s) kit(s) de amplificação">                      
                        </div>
                    </div>
					</br><h6 class="well" >Campos com <span class="style1">*</span> são obrigatórios</h6>

                   
                    <div class="form-actions">
						<br/>
                        
                        <button type="submit" class="btn btn-success">Adicionar</button>
                        <a href="index.php" type="btn" class="btn btn-default">Voltar</a>
						
                    </div>
                </form>
				<div class="row">
                
				<table align="center">					
							<th align="center">Últimas retiradas:</th>   					     
				</table>
				<table class="table table-striped">							
                    <thead>	
                        <tr>
							<th scope="col">Id</th>
							<th scope="col">Data(A-M-D H:M:S)</th>
                            <th scope="col">Produto</th>
                            <th scope="col">Quantidade</th>
                            <th scope="col">Colaborador</th>                           
                            <th scope="col"></th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php
                        
                        $pdo = Banco::conectar();
                        $sql = 'SELECT * FROM retirada WHERE valida_op LIKE "valida" ORDER BY data DESC LIMIT 7';
						date_default_timezone_set('America/Sao_Paulo');
						

                        foreach($pdo->query($sql)as $row)
							
                        {
                            echo '<tr>';
			                echo '<th scope="row">'. $row['id'] . '</th>';
							echo '<td>'. $row['data'] . '</td>';
                            echo '<td>'. $row['produto'] . '</td>';
                            echo '<td align="center">'. $row['quantidade'] . '</td>';
                            echo '<td align="center">'. $row['colaborador'] . '</td>';                       	            
                            echo '<td width=250>';
							
                            /* echo '<a class="btn btn-primary" href="read.php?id='.$row['id'].'">Info</a>';
                            echo ' '; */
							
                           /* echo '<a align="center" class="btn btn-success" href="?id='.$row['id'].'">Finalizar</a>'; */
							
							echo ' ';
							
                            echo '&emsp;&emsp;<a align="right" class="btn btn-danger" href="deleteret.php?id='.$row['id'].'">CANCELAR</a>';
							
                            echo '</td>';
                            echo '</tr>';
                        }
                        Banco::desconectar();
                        ?>
                    </tbody>
                </table>
            </div>
            </div>
        </div>
    </div>
</div>
	
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
        integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
        crossorigin="anonymous"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="assets/js/bootstrap.min.js"></script>


</body>

</html>

 

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      149150
    • Total Posts
      645417
×
×
  • Create New...