Ir para conteúdo

Arquivado

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

mzaidan

Erro ao gravar no banco com ajax

Recommended Posts

To tentando usar o seguinte codigo:

http://wbruno.com.br/ajax/enviar-formulario-para-php-sem-refresh-jquery-ajax/

<head>
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
	<script type="text/javascript">
	jQuery(document).ready(function(){
		jQuery('#ajax_form').submit(function(){
			var dados = jQuery( this ).serialize();
 
			jQuery.ajax({
				type: "POST",
				url: "processa.php",
				data: dados,
				success: function( data )
				{
					
				}
			});
			
			return false;
		});
	});
	</script>
</head>

<textarea style="height: 250px;" cols="55" id="area5" name="texto"></textarea><br>
<form method="post" action="" id="ajax_form">
<input type="submit" name="gravar" value="Salvar"class="botao">
</form>

No processa.php:

<?
include("db.php");
$gravar = $_POST['texto'];
$ler = $_COOKIE['user'];

$sql=mysql_query("SELECT * from bloco where id_user='$ler'");
$result = mysql_fetch_array($sql);

if($result){
  $update = mysql_query("UPDATE bloco SET texto='$gravar' WHERE id_user='$ler'");
} else {
 $insert = mysql_query("INSERT into bloco (id_user, texto) VALUES ('$ler', '$gravar')");
}
?>

Dois erros:
No inserir, da erro de sintaxe, pq será?

 

No update, não atualiza.

Pq será?

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá um print_r($_POST) e veja o que está chegando até a página, aposto que o post está vazio e que o cookie não existe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o erro, exatamente como ele aparece ?

 

E outra, veja que vc não está avisando nunca para o ajax que a requisição terminou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca a tag <textarea> dentro da tag <form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o erro, exatamente como ele aparece ?

 

E outra, veja que você não está avisando nunca para o ajax que a requisição terminou.

Como eu faria então, mestre?

 

Deu quase certo - havia esquecido de colocar o textarea dentro do form (vacilo)

Mas, so ta gravando a partir da segunda apertada no botão.

Pq será?

Grato.

 

Na primeira apartada, ele insere um campo em branco, ai, se eu digitar algo no textarea e mandar salvar, ele pega o valor passado e assim vai.

Estranho.

 

 

O que pode ser?

Como informo ao ajax que a requisiçao terminou?

Compartilhar este post


Link para o post
Compartilhar em outros sites

if($result){

$update = mysql_query("UPDATE bloco SET texto='$gravar' WHERE id_user='$ler'");

} else {

$insert = mysql_query("INSERT into bloco (id_user, texto) VALUES ('$ler', '$gravar')");

}

 

echo 'Acabou!';

o 'echo'; ali vai avisar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste um link para verificarmos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://www.englishgroup.com.br/ava/note.php

Coloquei para alertar.

Códigos:

<head>
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
	<script type="text/javascript">
	jQuery(document).ready(function(){
		jQuery('#ajax_form').submit(function(){
			var dados = jQuery( this ).serialize();
 
			jQuery.ajax({
				type: "POST",
				url: "processa.php",
				data: dados,
				success: function( data )
				{
					alert( data );
				}
			});
			
			return false;
		});
	});
	</script>
</head>

processa.php:

<?
include("db.php");
$gravar = $_POST['texto'];
$ler = $_COOKIE['user'];

/*$sql=mysql_query("SELECT * from bloco where id_user='$ler'");
$result = mysql_fetch_array($sql);

if($result){
  $update = mysql_query("UPDATE bloco SET texto='$gravar' WHERE id_user='$ler'");
} else {
 $insert = mysql_query("INSERT into bloco (id_user, texto) VALUES ('$ler', '$gravar')");
}*/
echo $gravar;
?>

Na primeira "apertada" ele retorna vazio, ai, se eu apertar de novo, retorna os dados e assim vai.

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.