$("#form_id").serialize() kullanarak alanlarda tekli kontrolü sağlamak zorlaşır...
tek tek değişkene atamak en doğrusu...


<input type="text" name="yorum" id="yorum" size="30" placeholder="Yorum yaz..." />
<input type="text" name="ad" id="ad" size="30" placeholder="Adiniz..." />
<input type="hidden" name="mesajid" id="mesajid" value="<?php echo $mesajid; ?>" />
<script>
  $('#gonder').click(function(){
  var yorum   = $("#yorum").val();
  var ad 	  = $("#ad").val();
  var mesajid = $("#mesajid").val();

  var gidecek_veriler = {'yorum':yorum,'ad':ad,'mesajid':mesajid}

  
	if(yorum=""){
	alert("yorum girmediniz");
  } else if(ad=""){
	alert("ad girmediniz");
  } else if(mesajid=""){
	alert("kodlarda oynama yaparak mesajidi manipüle etmişsiniz");
  } else {
	$.ajax({
          type:'POST', 
          url:'posgonder.php', 
          data:gidecek_veriler, 
          success:
			function(cevap){
				$("#gor").html(cevap);
			}
      });
	  
	}
  });
  </script>


ben PHP dosyasından böyle karşılardım yerinizde olsam....


// php sorgusu

//eğer olumsuz ise

echo '0|Hata oluştu';

// eğer olumlu ise

echo '1|İşlem tamam';


# bunu da ajax success functionda şu şekilde bastırırdım...
# gelecek olan veriyi "|" karakterini bölerek

 success:
			function(cevap){
			 var durum = split.cevap('|');
			 if(durum[0]==0){
				alert(durum[1]);
			 } else {
				alert(durum[1]);
			 }
			}

cevabı her şekilde php dosyasından verdirirdim kontrol amaçlı... bu şekilde kaynak kodundan js bilginizden ziyaretçi sadece değişkenleri görür ekrana basılacak hatayı da bilemez... genelde bunu kullanırım...

Kolay gelsin iyi çalışmalar...