Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Alguém tem uma solução para um formulário na dar refresh antes de fazer uma consulta?
No formulário que tenho ele verifica se no banco de dados já existe um login ou email , assim não cadastro duplicado um cliente, mas ele da um refresh quando insiro os dados e clico no botão de cadastrar, se estiver ok ele cadastra, se ele verificar um login ou email iguais no banco de dados ele volta a página avisando, mas acaba que assim ele apaga todos os dados inseridos, e tenho de digitar tudo novamente, queria que ele fizesse a consulta sem dar o refresh.
<?php
session_start();
ob_start();
$btnCadUsuario = filter_input(INPUT_POST, 'btnCadUsuario', FILTER_SANITIZE_STRING);
if($btnCadUsuario){
include_once 'conexao.php';
$dados_rc = filter_input_array(INPUT_POST, FILTER_DEFAULT);
$erro = false;
$dados_st = array_map('strip_tags', $dados_rc);
$dados = array_map('trim', $dados_st);
if(in_array('',$dados)){
$erro = true;
$_SESSION['msg'] = "Necessário preencher todos os campos";
}elseif((strlen($dados['senha'])) < 6){
$erro = true;
$_SESSION['msg'] = "A senha deve ter no minímo 6 caracteres";
}elseif(stristr($dados['senha'], "'")) {
$erro = true;
$_SESSION['msg'] = "Caracter ( ' ) utilizado na senha é inválido";
}else{
$result_usuario = "SELECT id_cliente FROM clientes WHERE login='". $dados['login'] ."'";
$resultado_usuario = mysqli_query($conn, $result_usuario);
if(($resultado_usuario) AND ($resultado_usuario->num_rows != 0)){
$erro = true;
$_SESSION['msg'] = "Este login já está sendo utilizado";
}
$result_usuario = "SELECT id_cliente FROM clientes WHERE email='". $dados['email'] ."'";
$resultado_usuario = mysqli_query($conn, $result_usuario);
if(($resultado_usuario) AND ($resultado_usuario->num_rows != 0)){
$erro = true;
$_SESSION['msg'] = "Este e-mail já está cadastrado";
}
}
//var_dump($dados);
if(!$erro){
//var_dump($dados);
$dados['senha'] = sha1($dados['senha']);
$result_usuario = "INSERT INTO clientes (nome, email, login, senha) VALUES (
'" .$dados['nome']. "',
'" .$dados['email']. "',
'" .$dados['login']. "',
'" .$dados['senha']. "'
)";
$resultado_usario = mysqli_query($conn, $result_usuario);
if(mysqli_insert_id($conn)){
$_SESSION['msgcad'] = "cliente cadastrada com sucesso";
header("Location: principal.php");
}else{
$_SESSION['msg'] = "Erro ao cadastrar o usuário";
}
}
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Cadastro de clientes</title>
<link href="bootstrap/bootstrap.min.css" rel="stylesheet">
<script src="bootstrap/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h2>Cadastrar Usuário</h2>
<?php
if(isset($_SESSION['msg'])){
echo $_SESSION['msg'];
unset($_SESSION['msg']);
}
?>
<form method="POST" action="">
<input type="text" name="nome" id="nome" class="form-control"><br>
<input type="email" name="email" class="form-control"><br><br>
<input type="text" name="login" class="form-control"><br><br>
<input type="password" name="senha" id="senha" class="form-control"><br
<center><input type="submit" name="btnCadUsuario" value="Cadastrar" class="btn btn-success" ></center><br><br>
</form>
</div>
</div>
</body>
</html>Carregando comentários...