Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.
Estou desenvolvendo um pequeno cadastro onde as informações do resultado do arquivo que efetua o cadastro do banco de dados são trazidas à minha página atual via AJAX. A situação é a seguinte:
- Eu digito nome e senha e aperto no meu button com type "submit";
- Ele ativa a função "atualizarDados()";
* Falha no cadastro!
* Usuário já existe!
* Cadastro Efetuado!
Ele acessa normalmente o arquivo "efetuar_cadastro_usuario.php" e os "ifs" estão funcionando normalmente, acontece que ele não está retornando a mensagem na tela e quando retorna ela simplesmente aparece e some. Eu queria que a mensagem fosse permanente e se atualizasse dependendo das informações que eu coloco no cadastro.
--Alguém poderia me dar uma luz?. Obrigado--
Eis os códigos:
cadastrar_usuario.php (formulário)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sistema Ajuda</title>
<script type="text/javascript" src="_js/jquery.js"></script>
<link rel="stylesheet" href="_css/estilo.css"/>
<link rel="stylesheet" href="_css/formularios.css"/>
<script type="text/javascript" src="_js/scripts.js"></script>
<link rel="shortcut icon" href="_img/icon.png" type="image/x-icon" />
</head>
<body>
<!--Incluindo a DIV do formulário-->
<form>
<div class="fCad">
<h1>Cadastrar Novo Usuário</h1><br/>
<hr/>
<br/>
<p><input type="text" maxlength="30" placeholder="Insira um nome de até 30 caracteres" id="nome" /></p>
<p><input type="password" maxlength="30" placeholder="Insira uma senha de até 30 caracteres" id="senha" /></p>
<p>Informe o tipo de usuário:
<select name="tipo" id="tipo">
<option value="1">Usuário Comum</option>
</select></p>
<p>Informe o setor:
<select name="setor" id="setor">
<?php
include 'conexao.php';
$sql = "SELECT * FROM setor ORDER BY nome";
$query = mysqli_query($conexao, $sql) or die (mysqli_error("Falha na conexão!"));
while($lista = mysqli_fetch_array($query)){
?>
<option value="<?php echo $lista['IDSETOR']; ?>"><?php echo $lista['NOME']; ?></option>
<?php
}
?>
</select>
</p><br/>
<div id="destino">
<p><!--aqui aparece a mensagem de confirmação--></p>
</div>
<hr/><br/>
<button type="submit" onclick="atualizarDados()">Enviar</button><button type="reset">Limpar</button><button type="button" onclick="voltar()">Voltar</button>
</div>
</form>
</body>
</html>
efetuar_cadastro_usuario.php (página que efetua o cadastro no banco de dados)
<script type="text/javascript" src="_js/jquery.js"></script>
<script type="text/javascript" src="_js/scripts.js"></script>
<?php
$nUsuario = $_POST['nome'];
$nSenha = $_POST['senha'];
$tipo = $_POST['tipo'];
$setor = $_POST['setor'];
$a = "Cadastro Efetuado!";
include "conexao.php";
$verificar = "SELECT * FROM usuarios WHERE NOME = '$nUsuario'";
$executar = mysqli_query($conexao,$verificar) or die (mysqli_error($conexao));
$contar = mysqli_num_rows($executar);
if($contar != 0) {
echo "Usuário já existe!";
}else {
if($nUsuario != '' && $nSenha != '') {
$comandosql = "INSERT INTO usuarios (NOME, SENHA, IDADM, IDSETOR) VALUES ('$nUsuario', '$nSenha', $tipo, $setor)";
$querysql = mysqli_query($conexao, $comandosql) or die (mysqli_error($conexao));
echo "Cadastro Efetuado!";
}else{
echo "Falha no cadastro!";
}
}
?>
scripts.js (onde está a função que deveria apresentar as mensagens na tela)
function atualizarDados(){
var nome = document.getElementById('nome').value;
var senha = document.getElementById('senha').value;
var tipo = document.getElementById('tipo').value;
var setor = document.getElementById('setor').value;
$.ajax({
type:'post',
url:'efetuar_cadastro_usuario.php',
data:{nome:nome,senha:senha,tipo:tipo,setor:setor},
success:function(dados){
$('div#destino p').html(dados);
}
})
}Carregando comentários...