Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Julio Cavallari

Inserir dados MySQL via ajax

Recommended Posts

Pessoal, estou fazendo um app pelo intel XDK, e por ele eu preciso utilizar Ajax, se quiser me comunicar com a BD, porque com php direto no código ele não compila o app.

Mas estou tendo dificuldade em inserir dados no banco por esse método de Ajax+PHP.

Ele simplesmente não insere nada, e nem retorna nenhum alert

o código HTML é o seguinte

<form method="post" action="#">

<input type="text" placeholder="Usuário" id="user" class="form-control"><br>

<input type="password" placeholder="Senha" id="password" class="form-control"><br>
<input type="password" placeholder="Insira novamente a Senha" id="password1" class="form-control"><br>
<input type="text" placeholder="Nome" id="nome" class="form-control"><br>
<input type="text" placeholder="Sobrenome" id="sobrenome" class="form-control"><br>
<div class="row demo-row">
<div class="col-xs-6">
<a class="btn btn-block btn-lg btn-primary" href="index.php" >Voltar</a>
</div>
<div class="col-xs-6">
<input type="submit" class="btn btn-block btn-lg btn-primary" Value="Cadastrar" onclick="cadastrar()">
</div>
</div>
</form>

e a função para inserir

function cadastrar()

{
var dadosajax = {
'user' : $("#user").val(),
'senha' : $("#password").val(),
'senha1' : $("#password1").val(),
'nome' : $("#nome").val(),
'sobrenome' : $("#sobrenome").val(),
};
pageurl = 'php.php';
$.ajax({
url: pageurl,
data: dadosajax,
type: 'POST',
cache: false,
error: function()
{
alert('Erro: Inserir Registo!!');
},
success: function(result)
{
if($.trim(result) == '1')
{
alert("O seu registo foi inserido com sucesso!");
}
else if($.trim(result) == '2')
{
alert("Nome de usuário já existe");
}
else if($.trim(result) == '3')
{
alert("Senhas não conferem");
}
else if($.trim(result) == '5')
{
alert("Preencha todos os campos");
}
else
{
alert("Erro ao cadastrar");
}
}
});
}

E esse é o código PHP para onde a função "cadastar" manda os dados

<?php

$server = "localhost";
$username = "root";
$password = "";
$database = "mvet";
$con = mysql_connect($server, $username, $password) or die ("Conexão com o banco não pode ser estabelecida");
mysql_select_db($database, $con) or die("não foi possivel selecionar o banco");
$user=$_POST['user'];
$senha=$_POST['senha'];
$senha1=$_POST['senha1'];
$nome=$_POST['nome'];
$sobrenome=$_POST['sobrenome'];
$nome_correto = ucwords(strtolower($nome));
$sobrenome_correto = ucwords(strtolower($sobrenome));
if(isset($user) || isset($senha) || isset($nome) || isset($sobrenome) || isset($senha1))
{
if($senha == $senha1)
{
$query_select="SELECT usuario FROM usuario where usuario = '$user'";
$select=mysql_query($query_select);
$verifica = mysql_fetch_array($select);
$usuario = $verifica['usuario'];
if($usuario == $user)
{
echo"2";
}
else
{
$query_cad="INSERT into usuario(usuario, senha, nome, sobrenome) values('$user', '$senha', '$nome_correto', '$sobrenome_correto')";
$insert = mysql_query($query_cad) or die (mysql_error());
if($insert)
{
echo"1";
}
else
{
echo"4";
}
}
}
else
{
echo"3";
}
}
else
{
echo"5";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não use onclick no botão submit, use o evento onsubmit da tag form.

veja o que está acontecendo na requisição no console de erros e na aba network do Ctrl + Shift + J do Firefox ou Chrome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui inserir com o evento onsubmit, mas os alerts não estão aparecendo, o que pode estar acontecendo? Não conheço quase nada de JS ou Ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aperte Ctrl + Shift + J e veja o que aparece no console de erros e na aba rede (network)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só mostra 2 erros de CSS:

Mas deve ser porque nessa página eu não uso nada de estilo desses 2 arquivos.
Na aba network não mostra nada de anormal, ou eu que não estou sabendo usar rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.