First of all, this code is only a small part of the complete code, I have a simple problem, but I could not solve it.
First, I have an HTML form, which sends by POST method, field values to a javascript file.
In the javascript file, I make simple validations and send by POST method to a PHP file, which receives the information, inserts in the database without any problem.
The problem arises when I try to receive some response from the PHP file or try to give alert()
in the javascript to inform that the registration was done, nothing appears. Could someone tell me where I'm wrong?
HTML:
<form id="formCadastroUsuario" name="formCadastroUsuario" method="post" class="col s12">
<div class="row">
<div class="input-field col s6">
<i class="material-icons prefix">account_circle</i>
<input id="nome" name="nome" type="text" required="required">
<label for="nome">Nome</label>
</div>
</div>
<button class="btn waves-effect waves-light modal-trigger" id="submit" type="submit" name="submit" value="Submit" onclick="minhaFuncao();">Cadastrar
<i class="material-icons right">send</i>
</button>
</form>
JavaScript:
function minhaFuncao() {
var nome = document.getElementById("nome").value;
var email = document.getElementById("email").value;
var senha1 = document.getElementById("senha1").value;
var senha2 = document.getElementById("senha2").value;
var cidade = document.getElementById("cidade").value;
var bairro = document.getElementById("bairro").value;
var dataNascimento = document.getElementById("dataNascimento").value;
if (nome == '' || email == '' || senha1 == '' || senha2 == '' || cidade == '' || bairro == '' || dataNascimento == '') {
alert("Por favor, preencha todos os campos!");
} else {
if(senha1 != senha2){
alert("Os campos de senha estão diferentes, repita sua senha corretamente");
} else {
//formatando a data de nascimento para o formato DATE do MySQL
var minhaData = dataNascimento.split('/');
var dataFormatada = minhaData[2] + "-" + minhaData[1] + "-" + minhaData[0];
//Formato de envio dos dados para o arquivo de cadastroDoUsuario.php
var dataString = 'nome=' + nome + '&email=' + email + '&senha=' + senha1 + '&cidade=' + cidade + '&bairro=' + bairro + '&dataNascimento=' + dataFormatada;
// AJAX code to submit form.
$.ajax({
type: "POST",
url: "control/cadastrarUsuario.php",
data: dataString,
cache: false,
success: function (result) {
alert("sucess");
},
error: function (erro) {
alert("Problema ocorrido");
}
});
return false;
}
}
}
PHP:
<?php
//error_reporting(0);
//error_reporting (~ E_DEPRECATED);
//criando a conexao (servidor, usuario, senha)
$conexao = mysql_connect("localhost", "root","");
/*
if (!$conexao) {
die("Não foi possível conectar: " . mysql_error());
} else {
echo ("conectado!.");
}
*/
//utilizando o padrao UTF-8 no banco de dados
mysql_set_charset('utf8',$conexao);
//selecionando o banco de dados a ser utilizado
$db = mysql_select_db("projetocgeo", $conexao);
/*
if (!$db) {
die("Não escolheu o banco de dados: " . mysql_error());
} else {
echo ("banco de dados escolhido!.");
}
*/
//recebendo os dados validados no arquivo javascript ValidarCadastroDoUsuario.js
$nome = $_POST['nome'];
$email = $_POST['email'];
$senha = $_POST['senha'];
$cidade = $_POST['cidade'];
$bairro = $_POST['bairro'];
$dataNascimento = $_POST['dataNascimento'];
//criando a query
$query = "INSERT INTO usuario(nome, email, senha, tipo, dataNascimento, bairro, Cidade_idCidade) VALUES ('".$nome."', '".$email."','".$senha."','normal','".$dataNascimento."','".$bairro."',1)";
//executando a query
$insercao = mysql_query($query, $conexao);
/*
if(!$insercao){
die("Cadastro deu erro:".mysql_error());
} else {
echo("Cadastrado realizado com sucesso.");
}
*/
//fechando a conexao com o banco de dados
mysql_close($conexao);
?>