Ir ao conteúdo
  • Cadastre-se

PHP Manter os dados no formulário após dar Submit


Posts recomendados

Bom Dia

Eu tenho uma dúvida e agradecia muito se alguém conseguir ajudar.

Eu tenho um formulário de inserir materiais e ao dar Submit, se estiver tudo correto, o php envia os dados para a BD, mas se der erro não.

Agora é que está a questão, eu gostava que ao dar erro, e ao voltar para o formulário, o site mantivesse as informações escritas pelo utilizador (para que ele não tenha de escrever tudo outra vez caso tenha dado erro).

Eu já pesquisei mas não consegui arranjar uma solução, por isso agradeço a quem tentar ajudar.

 

Código do formulário:

 

<?php
session_start();
if(!$_SESSION['utilizador']) {
	header('Location: index.php');
	exit();
}
?>
<!DOCTYPE html>
<html>
<title>Inserir Material - AS11</title>
<head>
<link rel="shortcut icon" href="favicon.ico">
<link rel="stylesheet" href="styleFormASXX.css">
	<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <h1><p>Inserir Material - AS11</h1>
    <body>	
    <form method="POST"
action="InsereAS11.php">
<table>
<tr>
<td align="center"><b>Localização:</td>
<td><select class="combo" size=1 name="T_Localização">
                    <option value=""></option>
                    <option value="AS11-01-01">AS11-01-01</option>
                    <option value="AS11-01-02">AS11-01-02</option>
                    <option value="AS11-01-03">AS11-01-03</option>
                    <option value="AS11-01-04">AS11-01-04</option>
                    <option value="AS11-01-05">AS11-01-05</option>
                    <option value="AS11-02-01">AS11-02-01</option>
                    <option value="AS11-02-02">AS11-02-02</option>
                    <option value="AS11-02-03">AS11-02-03</option>
                    <option value="AS11-02-04">AS11-02-04</option>
                    <option value="AS11-02-05">AS11-02-05</option>
                    <option value="AS11-03-01">AS11-03-01</option>
                    <option value="AS11-03-02">AS11-03-02</option>
                    <option value="AS11-03-03">AS11-03-03</option>
                    <option value="AS11-03-04">AS11-03-04</option>
                    <option value="AS11-03-05">AS11-03-05</option>
                    <option value="AS11-04-01">AS11-04-01</option>
                    <option value="AS11-04-02">AS11-04-02</option>
                    <option value="AS11-04-03">AS11-04-03</option>
                    <option value="AS11-04-04">AS11-04-04</option>
                    <option value="AS11-04-05">AS11-04-05</option>
                    <option value="AS11-05-01">AS11-05-01</option>
                    <option value="AS11-05-02">AS11-05-02</option>
                    <option value="AS11-05-03">AS11-05-03</option>
                    <option value="AS11-05-04">AS11-05-04</option>    
                    <option value="AS11-05-05">AS11-05-05</option>                  
                </select><br></td>
 </tr>
 <tr>

<td><b>Referência:</td>
<td><input class="input" type="text" name="T_Referência"></td>
 </tr>
 <td><b>Categoria:</td>
<td><input class="input" type="text" name="T_Categoria"></td>
 </tr>
 <td><b>Dimensão:</td>
<td><input class="input" type="text" name="T_Dimensão"></td>
 </tr>
 <td><b>Designação:</td>
<td><input class="input" type="text" name="T_Designação"></td>
 </tr>
 <td><b>Fornecedor:</td>
<td><input class="input" type="text" name="T_Fornecedor"></td>
 </tr>
 <td><b>Quantidade:</td>
<td><input class="input" type="text" name="T_Quantidade"></td>
 </tr> 
 <td><b>Inventário:</td>
<td><input class="input" type="text" name="T_Inventário"></td>
 </tr>
 <td><b>MTN_ID:</td>
<td><input class="input" type="text" name="T_MTN_ID"></td>
 </tr>
</table>
<br>
            <input type="submit" value="Inserir Material">
			<a href="paginainicial.php">
        <input type="button" value="Voltar atrás">
    </a>

        </form><br>
        <a class="ooo">Para saber a localização correta:</a><a href="esquema armário.png" class="img"> Esquema Excel</a><a class="ooo"> ||</a><a href="armário.jpg" class="img"> Armário Moviblock</a>
    </body>
</html>

 

Código para inserir os dados na BD:

 

<html>
    <title>
        Inserir Material - AS11
    </title>
    <head>
    <link rel="shortcut icon" href="favicon.ico"> 
    </head>
    <body>
<?php

/* Verificar se o formulário foi submetido */
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $Localização = filter_input(INPUT_POST, 'T_Localização');
    $Referência = filter_input(INPUT_POST, 'T_Referência');
	$Categoria = filter_input(INPUT_POST, 'T_Categoria');
    $Dimensão = filter_input(INPUT_POST, 'T_Dimensão');		
	$Designação = filter_input(INPUT_POST, 'T_Designação');	
    $Fornecedor = filter_input(INPUT_POST, 'T_Fornecedor');
    $Quantidade = filter_input(INPUT_POST, 'T_Quantidade');
    $Inventário = filter_input(INPUT_POST, 'T_Inventário');
    $MTN_ID = filter_input(INPUT_POST, 'T_MTN_ID');
    /* validar os dados recebidos do formulario */
    if (empty($Localização) || empty($Referência) || empty($Categoria)|| empty($Dimensão)|| empty($Designação) || empty($Fornecedor) || empty($Quantidade)){		
        echo "Campos do formulário em falta";
        echo '<br> <a href="FormAS11.php"> Voltar ao formulário </a>' ;
        exit();
    }    
}
else{
   echo " Erro, formulário não submetido ";
   exit();
}


/* estabelece a ligação à base de dados */
$ligacao = new mysqli("localhost", "root", "", "moviblock");

/* verifica se ocorreu algum erro na ligação */
if ($ligacao->connect_errno) {
    echo "Falha na ligação: " . $ligacao->connect_error; 
    exit();
}
    
/* texto sql da consulta*/
$consulta = "INSERT INTO AS11 (Localização, Referência, Categoria, Dimensão, Designação, Fornecedor, Quantidade, Inventário, MTN_ID) VALUES ('$Localização', '$Referência', '$Categoria', '$Dimensão', '$Designação', '$Fornecedor', '$Quantidade', '$Inventário', '$MTN_ID')";

/* executar a consulta e testar se ocorreu erro */
if (!$ligacao->query($consulta)) {
    echo " Falha ao executar a consulta: \"$consulta\" <br>" . $ligacao->error;
    $ligacao->close();  /* fechar a ligação */
}
else{
    /* percorrer os registos (linhas) da tabela e mostrar na página */
    echo " Novo registo inserido com sucesso" ;   
    }
$ligacao->close();       /* fechar a ligação */
echo '<br> <a href="FormAS11.php"> Voltar ao formulário </a>' ;
?>
</body>
</html>

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!