Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Własny system lajków
PGmajster
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.02.2013

Ostrzeżenie: (0%)
-----


Witajcie. Piszę własny system newsów, który ukończyłem. Znalazłem kod na "Lubie to!" facebook, ale nie pasuje mi. Chciałbym stworzyć własny system 'lajków'. Dodałem już w mysql tabele "like", dodałem w newsie "Lubie to!" i odnośnik do like.php?id=<?= $rekord[0] ?>. W pliku like.php nie mam na tą chwilę nic, ale pytanie tkwi w czymś innym. Jak zrobić, aby można było kliknąć w "Lubie to!" tylko raz? Myślę, że potrzebuje zapisu IP, ale nie wiem jak się do tego zabrać.

Pozdrawiam, PGmajster.
Go to the top of the page
+Quote Post
Szymciosek
post
Post #2





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Ogólnie na fb jest to pewnie sprawdzane po stronie systemu. Do samej bazy ląduje powiedzmy ID użytkownika, który kliknął w LUBIĘ TO.

Jeżeli masz system logowania itd, to nad tym pomyśl.

Jeżeli nie masz, to musiałbyś zapisać IP usera do bazy.

http://techtalk.virendrachandak.com/gettin...dress-in-php-2/
Go to the top of the page
+Quote Post
PGmajster
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.02.2013

Ostrzeżenie: (0%)
-----


Jestem w PHP początkujący, a więc jakim kodem sprawdzić, czy już jest takie IP? Np. jak już jest IP w bazie to napis "Kliknąłeś już lubie to!" a jak nie ma IP w bazie to "Lubie to!" ?
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Tak, zapisujesz IP użytkownika i powiązujesz go np. z id newsa, potem sprawdzasz czy user polubił już czy nie
Go to the top of the page
+Quote Post
PGmajster
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.02.2013

Ostrzeżenie: (0%)
-----


Ok, dodaje lajki oraz dodaje IP do bazy danych. Jak zrobić kod na sprawdzenie, czy kogoś IP jest w bazie, a jeżeli jest to by wyświetliło komunikat?

Mój aktualny kod to

  1. <?php
  2. include("polacz.php");
  3.  
  4.  
  5. $query = mysql_query("select * from news where id='".(int)$_GET['id']."'"); // 1
  6. $rekord = mysql_fetch_array($query);
  7. $id =$_GET['id'];
  8. $sql = "update news set diaxy=diaxy+1 WHERE `id` = '$id'";
  9.  
  10. $ip=$_SERVER['REMOTE_ADDR'];
  11. $query = mysql_query("insert into blockip values('','".$ip."')");
  12.  
  13. if(mysql_query($sql)){
  14. echo 'Dodano diaxa!';
  15. } else {
  16. echo 'Cos poszlo nie tak!';
  17. }
  18.  
  19. ?>


Z góry dzieki za pomoc.
Go to the top of the page
+Quote Post
Szymciosek
post
Post #6





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Masz już na początku adres IP usera, który wszedł na stronę z zamiarem kliknięcia like.

Teraz robisz zapytanie do bazy:
SELECT id FROM likes WHERE id = id_lajka_z_danej_strony && ip_address = ip_usera

Sprawdzasz później czy to zapytanie coś zwróciło. Jeżeli tak, to znaczy, że klient z tego IP klikał już konkretnego like i blokujesz mu przycisk na wejściu. Jeżeli jest inaczej, to zostawiasz przycisk normalny.
Go to the top of the page
+Quote Post
PGmajster
post
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.02.2013

Ostrzeżenie: (0%)
-----


To już mam.

Zrobiłem baze news, w której są like.
(IMG:http://i.imgur.com/kqLUr6k.png)

oraz baze blockip, w której są adresy IP + id newsów, gdzie user już kliknął "Dodaj like!".
(IMG:http://i.imgur.com/PpxKciZ.png)

Wszystko ładnie dodaje, like się sumują (gdy jest 10 i doda się like to jest 11).

Lecz jak zrobić sprawdzanie czy user już w tym newsie dał "LIKE"? Podałem wyżej screena z bazy blockip, na pewno jest jakiś kod aby sprawdzić, czy user już kliknął "like", z góry dziękuje za kod!

Pozdrawiam.
Go to the top of the page
+Quote Post
Turson
post
Post #8





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Szymciosek napisał co i jak
Go to the top of the page
+Quote Post
PGmajster
post
Post #9





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.02.2013

Ostrzeżenie: (0%)
-----


Wiem, że napisał, ale ja nie wiem jakiego kodu użyć.

Ok wykonałem. Przypomniałem sobie, że miałem skrypt rejestracji na komputerze i z niego wyciągnąłem sprawdzanie, czy już jest użyty taki nick. Wszystko działa. Dziękuje za fatygę! Pozdrawiam.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:55