 
			
				30.08.2012, 17:31
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.02.2012 
					
					
					
						Сообщений: 19
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Возвращение результата с сервера
			 
			
		
		
		
		Проверяю введены данные с формы на уникальность. Для отправки на сервер использую скрипт: 
$("form").submit(function(){
    var checkString = $("#cat").val();
	var data= 'cat='+ checkString;
    if(checkString) {
        $.ajax({
            type: "POST",
            url: "test.php",
            data:data,
            success: function(html){ // получаем результаты
               		$("#massege").text(html);
					return html;
				    }
        });
}
});
Для проверки такой пхп
 
$cat=$_POST['cat'];
//если к нам идёт $_POST запрос
if (isset($_POST['cat'])) {
$db=mysql_connect ("localhost", "u1624514_chef", "design-1984");
mysql_select_db ("u1624514_osnova",$db); 
mysql_query('SET NAMES utf8');
	
$r=mysql_query ("SELECT id FROM 001_cat WHERE cat='$cat'",$db);
$m=mysql_fetch_array ($r);
    // получаем результаты
    if($m['id'] == 0) {
		return true;
    } else {
		return false;
    }
}
Не пойму как в случае уникальности отправить форму на добавления, в противном случае вывести сообщение об не уникальности?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2012, 18:53
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Сам по себе 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 09.06.2009 
					
					
					
						Сообщений: 963
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Как-то так  
if($m['id'] == 0) {
//тут сделать инсерт и вернуть 1
	    echo 1;
//это не нужно	        return true;
	    } else {
	    echo 0;
//это не нужно	        return false;
	    }
success: function(html){ // получаем результаты
//проверить html на 1 или 0 и алертом "Вы зарегистрированы" или "Логин не уникален"
//это не нужно	                    $("#massege").text(html);
//это не нужно	                    return html;
	                    }
 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.09.2012, 15:18
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.02.2012 
					
					
					
						Сообщений: 19
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
$("form").submit(function(){
    // получаем то, что ввёл пользователь
    var checkString = $("#cat").val();
	var data= 'cat='+ checkString;
    // если checkString не пуста
    if(checkString) {
        $.ajax({
            type: "POST",
            url: "test.php",
            data:data,
            success: function(html){ // получаем результаты
               		$("#massege").text(html);
					if(html==1){var result=true;}else{var result=false;}
										return result;
				    }
        });
}
Сделал так, но форма все равно отправляется. Как не отправлять форму если значение уже есть в базе?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.09.2012, 15:38
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Сам по себе 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 09.06.2009 
					
					
					
						Сообщений: 963
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Никак. Всё равно первым пунктом будет отправка формы на сервер, вторым - проверка в базе. Можно снести форму, если при проверке окажется, что значение есть в базе. 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.09.2012, 16:36
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.02.2012 
					
					
					
						Сообщений: 19
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Serg_pnz
			 
		
	 | 
 
	| 
		Никак. Всё равно первым пунктом будет отправка формы на сервер, вторым - проверка в базе. Можно снести форму, если при проверке окажется, что значение есть в базе.
	 | 
 
	
 
 Если добавить в функцию return false
 
$("form").submit(function(){
    // получаем то, что ввёл пользователь
    var checkString = $("#cat").val();
	var data= 'cat='+ checkString;
    // если checkString не пуста
    if(checkString) {
        $.ajax({
            type: "POST",
            url: "test.php",
            data:data,
            success: function(html){ // получаем результаты
               		$("#massege").text(html);
					if(html==1){var result=true;}else{var result=false;}
					alert(result);
					return result;
					$("form").text(result);
				    }
        });
}
return false; 
});
то форма не отправиться, как мне в это место (return false) вывести значение result?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.09.2012, 16:38
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 без статуса 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.05.2012 
					
					
					
						Сообщений: 8,219
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		red-nicolas,
    Как скрипт узнает, что значение есть в базе, без отправки формы ? 
Или база заранее уже передана на клиента ?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.09.2012, 16:43
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.02.2012 
					
					
					
						Сообщений: 19
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Deff
			 
		
	 | 
 
	
		red-nicolas, 
   Как скрипт узнает, что значение есть в базе, без отправки формы ? 
Или база заранее уже передана на клиента ?
	 | 
 
	
 
 
Через $.ajax, в коде выше происходит аякс запрос и в зависимости от ответа возвращается 1 или 0. Но как отправлять или не отправлять форму от этих результатов я не пойму.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.09.2012, 17:46
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 без статуса 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.05.2012 
					
					
					
						Сообщений: 8,219
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от red-nicolas
			
		
	 | 
 
	| 
		Через $.ajax, в коде выше происходит аякс запрос и в зависимости от ответа возвращается 1 или 0. Но как отправлять или не отправлять форму от этих результатов я не пойму.
	 | 
 
	
 
  Может так ?
 
$("form").submit(function(){
    // получаем то, что ввёл пользователь
    var checkString = $("#cat").val();
	var data= 'cat='+ checkString;
    // если checkString не пуста
    if(checkString) {
        $.ajax({
            type: "POST",
            url: "test.php",
            data:data,
            success: function(html){ // получаем результаты
               		$("#massege").text(html);
					if(html==1){var result=true;
*!*
					$("form").submit();
*/!*
					}else{var result=false;}
					alert(result);
					return result;
				    }
        });
}
return false; 
});
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.09.2012, 20:54
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.02.2012 
					
					
					
						Сообщений: 19
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Такой вариант не срабатывает, получается цикл. 
Я немного поменял код:
 
$("form").submit(function(){
	var checkString = $("#cat").val();
    	$.post(
  "test.php",
  {
    cat: checkString
  },
  function(data){
	  alert(data);
	  
	  });
});
В data возвращается 1 или 0 в зависимости от уникальности. Как в таком случае не отправлять форму если пришел 0 и отправить если пришло 1?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.09.2012, 21:15
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Сам по себе 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 09.06.2009 
					
					
					
						Сообщений: 963
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Повторно что ли не отправлять? А если юзер хочет уже другое что-то отправить? А если он отправит по очереди "Яблоко", "Груша", "Яблоко"? 
Не страдайте ерундой... 
Или объясните что вам надо сделать, но без кода, а на нормальном русском языке, с чувством, толком, расстановкой. 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |