Mam plik wątku forum thread.php
, który pobiera informacje o identyfikatorze tematu.Aktualizowanie unikalnych widoków za pomocą plików cookie
Przykład:
thread.php?id=781
Próbuję stworzyć unikalną konfigurację poglądy, ale nie mam pojęcia, czy jest to rzeczywiście możliwe:
thread.php
:
topicId = <?php echo $_GET['id']; ?>;
if ($.cookie("unique"+topicId)!=="1") {
$.cookie("unique"+topicId,1,{expires: 1000, path: '/'}); // create cookie if it doesn't exist
$.post('unique.php',{id:topicId}); // update thread unique views
}
unique.php
// connection stuff
$id = mysqli_real_escape_string($conn,$_POST['id']);
mysqli_query($conn,"UPDATE topics SET unique_views=unique_views+1 WHERE id='$id'");
Spowoduje to utworzenie nowego pliku cookie dla każdego wątku. Jeśli użytkownik wyświetli 100 wątków, będzie przechowywać 100 plików cookie. Martwię się, jeśli tworzenie nowego pliku cookie dla każdego wątku jest zbyt duże. Czy to w porządku, czy jest lepszy sposób na zrobienie tego?
Tylko pytanie - ponieważ musi sprawdzić, czy topicId ustawiany jest na wartość „1”, w tym jeden duży plik cookie, a także faktycznie musi przechowywać wartość cookie "1", jak mam to zrobić i skonfigurować instrukcję if? – frosty
Ok, jeśli chcesz tylko zapisać odwiedzone tematy, powinieneś użyć tablicy id jak ** var topicsId_array = [1, 2, 4, 26]; ** (proste i efektywne), więc tylko w tablicy powinny pozostać tematami ustawionymi na 1 (i usuwać pozostałe).Ale jeśli to nie twoja sprawa i musisz przechowywać dodatkowe dane (takie jak liczba wyświetleń lub cokolwiek innego), możesz użyć tablicy obiektów i przechowywać wszystko, co chcesz. Stringify również będzie działać całkiem dobrze. Oto przykład: [http://jsfiddle.net/y11zLra7](http://jsfiddle.net/y11zLra7) –