Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2012, 13:39
Новичок на форуме
Отправить личное сообщение для yura-666-yura Посмотреть профиль Найти все сообщения от yura-666-yura
 
Регистрация: 05.02.2012
Сообщений: 4

проверка результата ajax
Здравствуйте, у меня возникла следующая проблема:
есть комментарии написанные на ajax(добавляются без перезагрузки страницы) и есть капча (сам писал, нужно пощитать суму с картинки)
Не знаю почему, но выполняется фун-я succes в ajax, даже если я отправляю данные в несущесвующий или пустой файл
когда сума введена правильная, то все ок, коммент добавляется, а когда сума не верная, то выполняется фун-я success вместо error, но коммент не добавляется, так как проверка капчи производится в файле comments.php
вот коды:
ajax:
$.ajax({
	 type: "POST",
	 url: "comments.php",
	 data: {"name": $("#name").val(), "comment": $("#comment").val(), "check": $("#check").val(), "id_sum": $("#id_sum").val()},
	 cache: false,
	 error:function(){
		 alert("error");
	},
	 success: function(){
		alert("success");
	}
});

comments.php:
$result = mysql_query ("SELECT summa FROM summa_data WHERE id_sum='$id_sum'");
$myrow = mysql_fetch_array($result);

if ($check === $myrow["summa"]){
mysql_query("INSERT INTO comments (name,comment) VALUES ('$name', '$comment')");
}
else
	exit();

У исх. кодах убрал все лишнее, если нужно выложу их полностью. Помогите пожалуйста
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2012, 14:28
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

success проверяет не сам ответ сервера, а его код. покажите как обрабатываете запрос
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2012, 14:43
Новичок на форуме
Отправить личное сообщение для yura-666-yura Посмотреть профиль Найти все сообщения от yura-666-yura
 
Регистрация: 05.02.2012
Сообщений: 4

comments.php:
<?php
include ('blocks/bd.php');
function checkStringPost($name){
	if(isset($_POST["$name"]))
		$GLOBALS["$name"] = strip_tags(trim($_POST["$name"]));

checkStringPost('author');
checkStringPost('text');
checkStringPost('pr');
checkStringPost('sub_com');
checkStringPost('id');
checkStringPost('id_sum');
checkStringPost('parent_id');
checkStringPost('save_name');

if($save_name=="save")
	setcookie('name',"$author",time()+31104000);
if($pr == "")
	exit;

$result = mysql_query ("SELECT sum FROM comments_settings 	WHERE id_sum='$id_sum'",$db);
$myrow = mysql_fetch_array($result);

if ($pr === $myrow["sum"]){
$date = time();
$result2 = mysql_query ("INSERT INTO comments (post,author,text,date,parent_id) VALUES ('$id','$author','$text','$date','$parent_id')");
}
else
	exit();
?>

comments.js:
$(document).ready(function(){
	
	if($("#name_area").attr("value") == "Мене звати ..."){
		$("#save_name").attr("disabled","disabled");
	}
	$("#check_name").hide();
	$("#count_again").hide();
	$("#check_comment").hide();	
//NAME
	if($("#name_area").attr("value") == ""){
		$("#name_area").attr("value", "Мене звати ...").fadeTo(300,0.7);
	}
    var text = "Мене звати ...";

    $("#name_area").focus(function() {
        $(this).addClass("comments_name_focus").fadeTo(300,1);
        if($(this).attr("value") == text) $(this).attr("value", "");
    });
 
    $("#name_area").blur(function() {
        if($(this).attr("value") == "") {
			$("#save_name").attr("disabled","disabled");
			$(this).attr("value", text);
			$(this).removeClass("comments_name_focus").fadeTo(300,0.7);
		}
	else {
	  $("#save_name").removeAttr("disabled");
	}
	});
	
//Comment
		var valueComment = "Мій коментар ..."
		$("#commentArea").val(valueComment).fadeTo(300,0.7);
		$("#commentArea").focus(function(){
			$(this).addClass("comments_text_focus").fadeTo(300,1);
			if($(this).attr("value") == valueComment){
				$(this).attr("value", "");
			}
		});
		$("#commentArea").blur(function(){
			if($(this).attr("value") == ""){
				$(this).removeClass("comments_text_focus").fadeTo(300,0.7);
				$(this).attr("value", valueComment);}
		});	

	
//BUTTON CLICK
	$("#button").click(function(eventObject){
		if($("#name_area").val() == "Мене звати ..."){
			eventObject.preventDefault();
			$("#check_name").fadeIn(500).delay(2000).fadeOut(900).text("Введіть ваше ім'я!");	
			var check = 0;
		}
		else if($("#name_area").val() == ""){
			eventObject.preventDefault();
			$("#check_name").fadeIn(500).delay(2000).fadeOut(900).text("Введіть ваше ім'я!");
			var check = 0;
		}
		else if($("#commentArea").val() == "Мій коментар ..."){
			eventObject.preventDefault();
			$("#check_comment").fadeIn(500).delay(2000).fadeOut(900).text("Коментар не може бути пустим!");	
			var check = 0;
		}
		else if($("#commentArea").val() == ""){
			eventObject.preventDefault();
			$("#check_comment").fadeIn(500).delay(2000).fadeOut(900).text("Коментар не може бути пустим!");	
			var check = 0;
		}
		else if($("#checkSum").val() == ""){
			eventObject.preventDefault();
			$("#count_again").fadeIn(500).delay(2000).fadeOut(900).text("Ви не ввели суму з картинки!");
			var check = 0;
		}
		else 
			{var check = 1;}
//AJAX
      if (check == 1){
	  var idPost = $("#postId").val();
		$.ajax({
			 type: "POST",
			 url: "comments.php",
			 data: {"save_name": $("#save_name").val(), "author":
$("#name_area").val(), "text": $("#commentArea").val(), "parent_id":
$(".parentId").val(), "pr": $("#checkSum").val(), "id_sum": $("#sumId").val(),
"id": $("#postId").val()},
			 cache: false,
			 error:function(){
				 alert("error");
 				 $("#count_again").fadeIn(500).delay(2000).fadeOut(900).text("Порахуйте ще раз!");
			},
			 success: function(){
				$("#commentArea").val("Мій коментар ...");
 				$("#checkSum").val("");
				alert("success");
 				$("#sumId1").load("index.php?page=post&id="+idPost+" #sumId1");
 				$("input.parentId").load("index.php?page=post&id="+idPost+" input.parentId");
 				$("#allComments").delay(500).load("index.php?page=post&id="+idPost+" #allComments");
 				$("#sum").delay(500).load("index.php?page=post&id="+idPost+" #sum");
			}
		});
			  return false;}
	});
	
});

Форма:
<div id="comment_form">
				<input type="text" name="author" size="25" maxlength="40" class="comments_name" value="<?=$name?>" id="name_area"/>
				  <input type="checkbox" name="save_name" value="save" disabled="disabled" id="save_name"/>Запам'ятати
				  <div id="check_name"></div>
				<p>
					<pre><textarea name="text" class="comment_text" id="commentArea"></textarea></pre>
					<div id="check_comment"></div>
				</p>
				<p>
				<div id="sumId1">
				<?php
					$result5 = mysql_query ("SELECT img,id_sum FROM comments_settings ORDER BY RAND() LIMIT 1",$db);
					$myrow5 = mysql_fetch_array ($result5);
				?>
					<div id="sum">
						<img src="<?=$myrow5['img']?>" alt="" />
					</div>
					<div id="sum_p">
						<input name="pr" type="text" size="2" maxlength="2" class="sum" id="checkSum"/>
					</div>
					<div id="count_again"></div>
				</p>
				<input name="id_sum" type="hidden" id="sumId" value="<?=$myrow5['id_sum']?>" />
				<input type="hidden" value="0" name="parent_id" class="parentId" />
				</div>
				<input name="id" type="hidden" value="<?=$id?>" id="postId"/>
				<p>
					<br /><br /><br />
					<input type="submit" name="sub_com" value="Додати" class="add_comment_button" id="button" />
				</p>
		</div>
Ответить с цитированием
  #4 (permalink)  
Старый 15.06.2012, 03:28
Новичок на форуме
Отправить личное сообщение для yura-666-yura Посмотреть профиль Найти все сообщения от yura-666-yura
 
Регистрация: 05.02.2012
Сообщений: 4

все! проблема решилась
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как приостановить выполнение скрипта до получения результата AJAX запроса? Хиросим AJAX и COMET 9 31.10.2011 10:56
Помогите найти ошибку... AJAX проверка существования e-mail в БД Murmurianez AJAX и COMET 1 03.08.2011 18:49
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57
Проверка наличия логина в БД при регистрации, с помощью ajax storng Общие вопросы Javascript 4 09.04.2010 20:24
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23