Форум русской поддержки Joomla!® CMS
03.12.2016, 19:36:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Своя кнопка like

 (Прочитано 422 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ffranss
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« : 05.08.2015, 13:49:46 »

Добрый день. Хочу сделать свою кнопку лайков(не хочу устанавливать расширения). Есть код:

index.php

<form action="like.php">
<input type="text" id="result" name="result"  value=""/>
<input type="submit" id="btn" name="btn" value="LIKE" />
</form>

like.js

jQuery(document).ready(function() {
   var count = 0;
jQuery('#btn').click(function(e){
   count += 1;
   jQuery.post('like.php', count);
   jQuery('#result').attr('value', count);
   return false;
   });
   
   });

like.php

<?php
$mysqli = new mysqli("localhost", "root", "", "lip_gloss");
$count = $_POST['count'];
$mysqli->query("UPDATE `d1e3m_content` SET `count_like`='".$count."'");
?>

В итоге когда нажимаю на кнопку LIKE в поле text идет увеличение на единицу, но в базу данных ничего не отправляется. Помогите, пожалуйста, разобраться.
Записан
Gordon Freeman
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 124


« Ответ #1 : 05.08.2015, 13:55:22 »

А где конкретно находится форма ( в каком файле)....
и зачем использовать new mysqli, если есть другое решение...
Работа с базой данных из joomla
Записан
ffranss
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« Ответ #2 : 05.08.2015, 14:31:30 »

Попробовал сделать так. Выдает ошибку:
Fatal error: Undefined class constant 'getDBO' in N:\home\localhost\www\site\templates\lip_gloss\index.php on line 2
Форма находится в index.php. Я же пометил что в каком файле.
Записан
ffranss
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« Ответ #3 : 05.08.2015, 14:37:39 »

Нужно было написать не $db = JFactory::getDBO; а $db = JFactory::getDBO(); - исправил.
А есть идеи по поводу передачи переменной count из like.js в like.php. Загвоздка именно в этом, т.к. если определять переменную count непосредственно в like.php данные в базу заносятся.
Записан
Gordon Freeman
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 124


« Ответ #4 : 05.08.2015, 14:53:47 »

Нужно было написать не $db = JFactory::getDBO; а $db = JFactory::getDBO(); - исправил.
А есть идеи по поводу передачи переменной count из like.js в like.php. Загвоздка именно в этом, т.к. если определять переменную count непосредственно в like.php данные в базу заносятся.

я не пойму, зачем использовать JS если данные с формы можно отправлять в файл сразу...
И не обязательно использовать атрибут action для тега form

И все равно не  до конца понятно зачем вообще эта кнопка....
Если запрос идет в таблице d1e3m_content, значит она связана с материалами. Ну так не проще эту форму вставить в макет вывода материала...
Записан
ffranss
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« Ответ #5 : 05.08.2015, 16:43:55 »

кнопка для добавления "like".
Мне нужно чтобы, когда человек нажимал по кнопке его голос учитывался при помощи AJAX.
Записан
ffranss
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« Ответ #6 : 05.08.2015, 22:06:59 »

Сделал отправку через форму напрямую. форму вставил в макет вывода материала. Теперь  в каждой статье выводится своя форма, единственно, как связать материал, с относящейся к ней формой? знаю что через id, но не знаю куда вставить код и что в нем прописать?
Записан
Gordon Freeman
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 124


« Ответ #7 : 06.08.2015, 07:24:25 »

Сделал отправку через форму напрямую. форму вставил в макет вывода материала.

Вделай так что бы весь блок материала был в форме и требуемые параметры как id будет уже находится в форме. Остается прописать обработчик который будет определять отправлена форма или нет...
Но для это надо использовать отправку данных с формы ссылкой а не кнопкой...

А какой хоть компонент используешь. Я также делал систему лайков, только на компоненте К2. А у тебя какой?
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #8 : 06.08.2015, 10:42:51 »

Но для это надо использовать отправку данных с формы ссылкой а не кнопкой...
Отправку данных из формы ссылкой.. вот это поворот! Форма отправляется кнопкой, а не ссылкой!
ffranss, какой вы компонент используете?
Записан
Gordon Freeman
Осваиваюсь на форуме
***

Репутация: +7/-0
Offline Offline

Сообщений: 124


« Ответ #9 : 06.08.2015, 19:08:57 »

Форма отправляется кнопкой, а не ссылкой!

Да ну! Стыдно не знать.
Код:
<a href="#" onclick="document.getElementById('form_id').submit(); return false;" id="submit_form_link">Текст ссылки</a>
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #10 : 06.08.2015, 23:02:54 »

Да ну! Стыдно не знать.
Код:
<a href="#" onclick="document.getElementById('form_id').submit(); return false;" id="submit_form_link">Текст ссылки</a>
А теперь без скриптов тот же фокус?! И расскажите мне как ссылкой отправить форму без скриптов! И почему тогда ссылка?
Код
<div onclick="document.getElementById('form_id').submit();" id="submit_form_link">Текст ссылки</div>
<span onclick="document.getElementById('form_id').submit();" id="submit_form_link">Текст ссылки</span>
<hr onclick="document.getElementById('form_id').submit();" id="submit_form_link" />
.. и тут список абсолютно всех тегов, но они не отравляют форму, их отправляет СКРИПТ!
 
Вообщем не мелите чушь!
Записан
ffranss
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« Ответ #11 : 06.08.2015, 23:31:58 »

Что то я в конец запутался... Angry
« Последнее редактирование: 07.08.2015, 01:19:44 от ffranss » Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #12 : 07.08.2015, 10:29:39 »

Что то я в конец запутался... Angry
Насколько я понял у вас стандартный менеджер материалов! В идеале вам нужно писать плагин который будет реализовывать кнопку like!
Записан
ffranss
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« Ответ #13 : 07.08.2015, 22:34:53 »

Да, стандартный. Что значит написать плагин?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet