2010-08-05 5 views
0

Я хочу иметь возможность отображать сообщение, если пользователь не вошел в систему, если он попытается оценить пользователя, нажав на рейтинг. Есть ли способ добавить его к моему коду JQuery ниже или я могу передать его в свой PHP-скрипт?Есть ли способ проверить, зарегистрирован ли пользователь с помощью JQuery?

Я использую PHP

Вот код JQuery.

$('#rate li a').click(function(){ 
    $.ajax({ 
     type: "GET", 
     url: "http://localhost/update.php", 
     data: "rating="+$(this).text()+"&do=rate", 
     cache: false, 
     async: false, 
     success: function(result) { 
      // remove #ratelinks element to prevent another rate 
      $("#rate").remove(); 
      // get rating after click 
      getRating(); 
      getRatingAvg(); 
      getRatingText2(); 
      getRatingText(); 
     }, 
     error: function(result) { 
      alert("some error occured, please try again later"); 
     } 
    }); 

ответ

0

Отправить что-нибудь для JQuery как result и проверить его, прежде чем выполнять другие свои действия.

+0

отправить что-то туда, откуда? Извините мое невежество. – jphp

+0

См. Ответ Рейгеля. Он дает более полный ответ. – ZeissS

0

jQuery самостоятельно не может проверить достоверность, если пользователь вошел в систему, но ваш запрос на PHP мог бы отправить ответ, если пользователь был зарегистрирован или нет. Этот ответ можно проверить, а затем отобразить ошибку (или нет).

+0

Как я могу это сделать? пример привел бы меня в правильном направлении. – jphp

+0

PHP выводит что-то и в функции успеха, которую вы можете проверить, если результат, например. 'ошибка'. – alopix

1

просто проверьте его, если вы входите в свой скрипт update.php. Если не войти, повторите что-то вроде «ошибки».

затем в обработчике успеха,

success: function(result) { 
     if (!$.trim(result)==='error') { 
      // remove #ratelinks element to prevent another rate 
      $("#rate").remove(); 
      // get rating after click 
      getRating(); 
      getRatingAvg(); 
      getRatingText2(); 
      getRatingText(); 
     } else { 
      // not login, do something... 
      alert('login first please...'); 
     } 
    }, 
0

Используйте update.php скрипт для отправки обратно кодифицированный ответ, который включает в себя подтверждение, является ли пользователь вошел в; Я предполагаю, что сценарий отражает некоторое значение, которое затем принимается как переменная результата в вашем фрагменте jquery.

if(result.loggedin == "1"){ //Assuming your output is a JSON object 

}else{ 

} 
0

В Wordpress вы можете легко проверить с кодом ниже:

if(jQuery('body').hasClass('logged-in')) { 
// add your jquery code 
    } 
Смежные вопросы