Прихващане на непрочетена тема във форума

pLe0mAx

Registered
Здравейте,

първо се извинявам ако раздела не е правилният. Замислил съм един проект, към който искам да прикача форум. Въпросът е, че не искам да използвам готов форум, а да го напиша сам, спрямо това което искам. Каквото трябва замислих, но ми изникна един доста интересен и логичен въпрос. Как да хващам непрочетените теми от даден потребител?

За сега най-доброто попадение, на което попаднах и в нета е да се направи нова таблица:

topic_tracking с полета:
- user_id
- topic_id
- last_visit

И спрямо тази таблица, да се проверява дали последния пост към тази тема е създаден след last_visit.

Искам да попитам някой от вас сблъсквал ли се е с този въпрос и съответно дали има по-оптимално решение, тъй като в случая ще трябва да пазя информация равна на броя потребители умножен по броя на темите. Не вярвам форума да стане прекалено голям, но никога не се знае.

Търсих и информация за по-известните форуми, как стоят нещата там, но не успях да намеря достатъчно информация.
 
Оо да, върху това паднаха много размисли и при мен. Аз измислих следното:
1. На всеки пост навярно имаш timestamp на създаване(както на темите, така и на отговорите)
2. С Js може да прихванеш кога потребителя затваря таба(браузъра) и да пуснеш една Ajax заявка до някое php кодче, което да постави COOKIE на потребителя с time() вътре(времето сега).
3. И при следващия вход, да изкарваш Всички постове/теми който са ПО-НОВИ от времето когато потребителя е бил онлайн. При мен работи и не се налага да запаметявам ненужна информация ^^

Тествай, ако може да го подобриш ще е суперр ^^ :idea: :?:
 
joTunkiq каза:
Оо да, върху това паднаха много размисли и при мен. Аз измислих следното:
1. На всеки пост навярно имаш timestamp на създаване(както на темите, така и на отговорите)
2. С Js може да прихванеш кога потребителя затваря таба(браузъра) и да пуснеш една Ajax заявка до някое php кодче, което да постави COOKIE на потребителя с time() вътре(времето сега).
3. И при следващия вход, да изкарваш Всички постове/теми който са ПО-НОВИ от времето когато потребителя е бил онлайн. При мен работи и не се налага да запаметявам ненужна информация ^^

Тествай, ако може да го подобриш ще е суперр ^^ :idea: :?:
Само да попитам защо да запазва времето на затваряне на таба, а не времето на зареждане на страницата?
Ако пази времето на затваряне на таба, тогава ще изпусне всички постове след отварянето му, и те пак няма да са прочетени... :idea:
Пък и второто е доста по-просто... (и по-сигурно, че ще се изпълни) :idea:
 
Не знам дали ще ти свърши работа, но може да пробваш в самата тема, която се направи да се записват всички ид-та които са я прегледали.

Нещо подобно обсъдихме тук

http://web-tourist.net/forum/viewtopic.php?t=128272
 
joTunkiq каза:
Оо да, върху това паднаха много размисли и при мен. Аз измислих следното:
1. На всеки пост навярно имаш timestamp на създаване(както на темите, така и на отговорите)
2. С Js може да прихванеш кога потребителя затваря таба(браузъра) и да пуснеш една Ajax заявка до някое php кодче, което да постави COOKIE на потребителя с time() вътре(времето сега).
3. И при следващия вход, да изкарваш Всички постове/теми който са ПО-НОВИ от времето когато потребителя е бил онлайн. При мен работи и не се налага да запаметявам ненужна информация ^^

Тествай, ако може да го подобриш ще е суперр ^^ :idea: :?:

И защо да не сетне кукито чрез JS, а трябва да правим излишни заявки към "някое php кодче" ?
Това като цяло може да се премахне даже.
Когато отвори сайта му се запазва някакво време. При всеки рефреш това време се проверява първо, ако има теми с по-голямо време от последното записано, то му ги запазва в куки, трие старото време и записва новото.
При последното записано време дори да излезе от сайта, то ще си стои запазено. При следващия вход отново се проверява старото време(ако има записано такова), ако има нови теми се запазват в куки и се трие старото време и се записва новото и т.н.

Аз така ги виждам нещата да работят по-добре.
 
Revelation каза:
И защо да не сетне кукито чрез JS, а трябва да правим излишни заявки към "някое php кодче" ?
До колкото знам това е все едно да си сложиш таралеж в гащите :D . Ако бисквитките са достъпни през JS, може всеки да ги открадне и по нататък е ясно какво става. В php функцията setcookie() има параметър с който, може да се забрани достъпването на бисквитките през JS, и това не е случайно.
 
И къде е таралежа ? Той в това куки няма да пази важни данни. Ще пази само темите, които не са прочетени. Дори и някой да му модифицира кукито нищо опасно няма да стане, което ще наруши работата на конкретния потребител.
Това, че има аргумент HttpOnly не означава, че трябва да се ползва винаги.
Но, както казах, това с JavaScript е безсмислено да се прави, след като може да се прави изцяло на server-side.
 

Back
Горе