Like Button implementieren?

Schönen guten Abend allerseits,

Ich arbeite gerade an einer Website.

Auf dieser möchte ich gerne einen Like-Button implementieren und nicht auf irgendein fertiges Produkt zugreifen.

Ich frage mich bloß, wie ich das am geschicktesten anstellen kann.

Meine Herangehensweise:

Ich persönlich habe mir eine MySQL Tabelle namens likes erstellt, mit deren Hilfe ich ein erneutes Liken eines Nutzers (der den Like-Button schon einmal gedrückt hat) verhindern möchte.

Zur Identifizierung des Nutzers würde ich entweder eine Session-ID oder die IP-Adresse des Nutzers in der Tabelle speichern.

Das Problem bei der Session-ID ist, dass das Cookie nach einiger Zeit "verfällt" bzw. bei der nächsten Löschung der Cookies nicht mehr vorhanden ist und erneutes liken wieder möglich ist. Zudem ist das erneute Liken in einem anderen Browser möglich.

Das Problem bei der IP-Adresse ist, dass ich nicht weiß, ob das ganze legal ist und erneutes Liken spätestens bei einer neuen IP-Adresse möglich ist.

Beim Laden der Seite stelle ich dann eine Datenbank-Abfrage mittels PHP an die Tabelle, in dem ich nach der entsprechenden Session-ID bzw. IP-Adresse suche.

Das sieht bei mir dann (mittels PDO) etwa so aus:

$stmt = $database->prepare('SELECT * FROM `likes` WHERE `sessid` = :sessid');
$stmt->execute(['sessid' => session_id()]);
$like = $stmt->fetch();

Im späteren Programmablauf wird dann überprüft, ob $like nicht "leer" ist und dementsprechend der Like-Button ($like ist "leer") oder nur die Likes ($like ist nicht "leer") ausgegeben werden.

Wenn der Like-Button nun schließlich gedrückt wurde soll eine asynchrone Anfrage an ein PHP Skript mittels AJAX gestellt werden. Im PHP Skript selbst werden entsprechende Likes in einer anderen Tabelle um 1 hochgezählt. Das PHP Skript selbst stellt dann noch eine Datenbank-Abfrage, in dem die aktuellen Likes aus der Tabelle geholt werden. Diese werden dann auch vom PHP Skript an den Client weitergegeben und im HTML-Dokument mittels JavaScript aktualisiert.

Die ganze Sache kommt mir nur nicht sonderlich elegant vor. Darunter auch die bei jedem Seitenaufruf überprüfende Abfrage, ob von diesem Nutzer bereits geliked wurde.

Zudem frage ich mich immer noch, ob ich mit der IP-Adresse oder einer Session-ID arbeiten soll - hat ja beides Vor- und Nachteile.

Was haltet ihr von meinem Ansatz? Habt ihr selbst Vorschläge wie oder was man besser machen könnte?

Danke im Voraus!

LG

Webseite, programmieren, AJAX, Informatik, MySQL, implementierung, like-button
Ich komme mit meiner Vergangenheit nicht mehr zurecht?

Schönen guten Tag allerseits,

Dieses Thema beschäftigt mich bereits seit einigen Wochen und ich habe mich dazu entschieden, nun hier um Rat zu fragen.

Alles begann eigentlich letztes Jahr so um die Zeit.

Ich habe meine Hobbys aufgegeben, bin in der Schule langsam aber ersichtlich abgekratzt, habe begonnen, viel Alkohol zu konsumieren - Kurzum: Ich habe mein Leben weggeworfen.

Durch zahlreiche Alkoholgeschichten habe ich mir bei vielen Leuten ein schlechtes Bild gemacht, mich von einer Seite gezeigt, die wahrscheinlich niemals wer von mir erwartet hätte (mich eingeschlossen).

Hinzu kam dann mit der Zeit ein teils rechtes Gedankengut und ein erhöhter Tabakkonsum.

Aus einem ehemals humorvollen Jungen mit vielen Freunden ist einfach ein komplettes Ar***loch geworden, wie ich finde.

Dann kam meine letzte Rettung: Der etwa 4-5 monatige Aufenthalt in einer Klinik.

Mir wurde dort nach ausführlichen Gesprächen eine psychische Krankheit diagnostiziert.

Nun ist das Schlimmste vorüber und mir geht es auch ein Stück weit besser. Meine Familie und Freunde sind für mich da, ich habe mit dem Rauchen und "Saufen" aufgehört, habe mein Leben wieder stückweit in den Griff bekommen.

Doch meine Vergangenheit ist nicht vergessen. Wenn ich heute daran denke, wer ich bis vor einem halben Jahr war, läuft es mir kalt den Rücken runter.

Hinzu kommt, dass es mir sehr zu schaffen macht, dass ich psychisch krank sein soll...

Ich weiß einfach nicht mehr, wie ich dieses Leben weiterführen soll...

Krankheit, Psychologie, Gesundheit und Medizin, Liebe und Beziehung, Psyche, Vergangenheit
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.