Pessoal,
estou com um problema em uma aplicação de teste que estou fazendo para meu TCC.
Seguinte.. quero cadastrar dados no banco, mas ao inserir os dados no form pela primeira vez, os mesmos são cadastrados no sistemas, mas o ALERT do JAVASCRIPT não é exibido. E ao tentar fazer um novo cadastro no banco com dados diferentes da primeira inserção, ocorre um bug, onde os dados da primeira inserção são salvos no banco novamente (eles ficam na sessão). Eu só consigo salvar novos dados no banco limpando o cache do navegador (CTRL + F5).
Segue abaixo meus códigos:
- página index.html
<!DOCTYPE html>
<!--
Copyright (c) 2012-2014 Adobe Systems Incorporated. All rights reserved.
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="msapplication-tap-highlight" content="no" />
<!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<link rel="stylesheet" href="css/jquery.mobile-1.1.2.min.css" />
<script src="js/jquery-1.7.2.min.js"></script>
<script src="js/jquery.mobile-1.1.2.min.js"></script>
<title>Cadastro</title>
</head>
<body>
<form id="formCliente">
<div id="control">
<div class="control-group">
<div class="cad-titulo">
<span>CADASTRO DE CLIENTES</span>
</div>
</div>
<div class="control-group">
<label class="control-label">
Nome
</label>
<div class="controls">
<input type="text" autofocus name="nome" id="nome" class="campos">
</div>
</div>
<div class="control-group">
<label class="control-label">
CPF
</label>
<div class="controls">
<input type="text" placeholder="Apenas números" name="cpf" id="cpf" class="campos">
</div>
</div>
<div class="control-group">
<label class="control-label">
RG
</label>
<div class="controls">
<input type="text" name="rg" id="rg" class="campos">
</div>
</div>
<div class="control-group">
<label class="control-label">
Tel
</label>
<div class="controls">
<input type="text" placeholder="([telefone removido]" name="tel" id="tel" class="campos">
</div>
</div>
<div class="control-group">
<label class="control-label">
Email
</label>
<div class="controls">
<input type="email" name="email" id="email" class="campos">
</div>
</div>
<div class="control-group">
<button onclick="salvar()" type="submit" class="btn btn-sucess"><span>SALVAR</span>
</div>
</div>
</body>
</html>
<script>
function salvar(){
// Recupera as informações dos campos através do id formCliente
// Usa-se sirialize para jogar todas as informações dos campos no id
var formula = $('#formCliente').serialize();
$.ajax({
type:'POST',
data: formula,
url: 'http://localhost/bkp/www/cadastro.php',
success: function(data) {
if((data == '') || (data == 0)) {
alert('Ocorreu um erro na gravação no banco de dados');
window.location = ""; // para dar um refresh
}
if(data == 1) {
alert('Cadastro salvo no banco de dados');
window.location = ""; // para dar um refresh
}
}
});
}
</script>
<?php
//include = ('conexao.php');
error_reporting(0); //oculta o erro do php
// Informando o host, usuário e senha do banco
$con = mysql_connect("localhost","root","");
// Informando o banco a ser conectado
mysql_select_db('videoaulapp',$con);
// Recuperando os campos da página index.html
$nome = mysql_real_escape_string($_REQUEST['nome']);
$cpf = mysql_real_escape_string($_REQUEST['cpf']);
$rg = mysql_real_escape_string($_REQUEST['rg']);
$tel = mysql_real_escape_string($_REQUEST['tel']);
$email = mysql_real_escape_string($_REQUEST['email']);
$sql = "INSERT INTO cliente(nome,cpf,rg,tel,email) VALUES('$nome','$cpf','$rg','$tel','$email')";
$res = mysql_query($sql);
if($res == true) {
$cadastro = "1";
} else {
$cadastro = "0";
}
// Devolvendo as informações para a aplicação
echo(json_encode($cadastro));
?>
Alguém pode me ajudar, por favor?