Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Realizzazione dei messaggi non letti di un forum

    Cari programmatori del forum.
    Sto realizzando un forum per un mio piccolo portale, e mi servirebbe un aiuto da parte vostra. Non è un aiuto nel codice, ma nella logica.. Cioè vi spiego subito...

    Ho realizzato il mio piccolo forum, però mi mancano alcune funzioni che devo finire e tra queste c'è una a quale non riesco ad arrivarci da solo per un corretto funzionamento.
    Avete presente le icone vicino i topic? Quella che dice se il messaggio è letto o meno. Come posso realizzare una cosa del genere?

    Ho pensato a due soluzioni che possono essere utilizzate insieme per una visualizzazione più corretta..
    1. Se l'utente è già iscritto al forum, salvo nel database il suo ultimo login nel forum. Così quando si riconette una seconda volta, in base a quella data dirò che un messaggio non è letto se la dara è superiore alla sua ultima visita, e dirò che è letto se la data è minore della sua ultima visita.
    2. La stessa cosa, però salvare la data nei cookies..

    In questo modo si avrà un effetto sia per gli utenti registrati che per gli utenti che seguono il forum senza aversi registrato. Utilizzando tutte le due funzioni insieme si avrà un effetto più sicuro per gli utenti registrati, ma che non hanno i cookies attivi.. Per quanto riguarda gli utenti non registrati che hanno i cookies disattivati, be, peggio per loro...

    Ora, io vorrei chiedere se c'è un modo più efficace per realizzaree questa cosa delle icone..
    Poi, oltre a questo, non sono sicuro su come si realizza quando all'utente vengono mostrati i msg non letti, però quando l'utente apre un msg, come dirò che quel msg è già letto? Utilizzo le sessioni salvando gli id dei topic che ha già letto??


    Vorrei tanti tanti consigli... E' la prima volta che realizzo un forum completo...

  2. #2
    Io ho utilizzato il 2° metodo, memorizzo un cookie con l'id dell'ultimo post scritto nel forum, ed al rientro faccio un highlight sui post più nuovi, molto semplice

  3. #3
    Grazie..

    Altre idee?

  4. #4
    Ciao.
    E utilizzare ajax e un db ?
    Mi spiego quando clicchi per vedere il post
    tramite ajax fai un update nel campo con lo stesso
    id e ad esempio lo setti ad 1.
    Quando recuperi i post non fai altro che fare
    stampare i links con classi diverse.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Originariamente inviato da whisher
    Ciao.
    E utilizzare ajax e un db ?
    Mi spiego quando clicchi per vedere il post
    tramite ajax fai un update nel campo con lo stesso
    id e ad esempio lo setti ad 1.
    Quando recuperi i post non fai altro che fare
    stampare i links con classi diverse.

    sinceramente, non ho capito la tua idea...
    spiegati meglio...

    ps. x ajax non ci sono problemi...

  6. #6
    Ripensandoci dovresti fare una tabella
    con user_id e post_id quando l'utente
    clicca inserisci sia l'user_id sia il post_id
    al momento di fare la stampa dei vari post
    controlli se il post è presente nella tabella
    se si stampi il link con la classe css letto
    (senza possibilmente la chiamata ajax)
    se no con non_letto e chiamata ajax.


    Mai provato ma penso che valga la pena pensarci un attimo.


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7
    Originariamente inviato da whisher
    Ripensandoci dovresti fare una tabella
    con user_id e post_id quando l'utente
    clicca inserisci sia l'user_id sia il post_id
    al momento di fare la stampa dei vari post
    controlli se il post è presente nella tabella
    se si stampi il link con la classe css letto
    (senza possibilmente la chiamata ajax)
    se no con non_letto e chiamata ajax.

    Mai provato ma penso che valga la pena pensarci un attimo.

    Ritornando un secondo su questo argomento.. Ho adottato un altro sistema..
    Come dici, mi sembra ottimo in quanto si avrà la lettura di ogni post.. Però mi viene un dubbio..
    Immagina se hai 1.000 utenti attivi, i quali fanno 100 discussioni a testa.. Avrai 100.000 record in questa tabella.. E quando devi caricare le discussioni, impiegerà molto più tempo per caricare minimo 20 topics.. Ho fatto una supposizione solo con 1000 utentie 100 topics a testa... ma se è un forum decente, ne avrai almeno il triplo di utenti e molti ma molti più topics... Non sarà lento lo script??

  8. #8
    Ritornando un secondo su questo argomento.. Ho adottato un altro sistema..
    Come dici, mi sembra ottimo in quanto si avrà la lettura di ogni post.. Però mi viene un dubbio..
    Immagina se hai 1.000 utenti attivi, i quali fanno 100 discussioni a testa.. Avrai 100.000 record in questa tabella.. E quando devi caricare le discussioni, impiegerà molto più tempo per caricare minimo 20 topics.. Ho fatto una supposizione solo con 1000 utentie 100 topics a testa... ma se è un forum decente, ne avrai almeno il triplo di utenti e molti ma molti più topics... Non sarà lento lo script??
    Anche se non avrai mai tutte le discussioni visibili
    (paging) e una qc forma di caching ti dò ragione
    troppa roba al fuoco


    Ho adottato un altro sistema..
    E' buona norma postare la soluzione del thread.


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  9. #9
    Originariamente inviato da whisher
    E' buona norma postare la soluzione del thread.
    Be, ho fatto come descritto all'inizio di questo topic..
    Salvo i dati della ultima visita sia sul database che sui cookie..
    Così quando un utente rientra una seconda volta, controllo:
    1. Data Ultima Visita nei Cookie
    2. Se l'utente è loggato. Data Ultima Visita nel DataBase.
    3. Prendo la data più Recente fra le due e visualizzo i msg da quella data fino a data attuale come msg nuovi..

  10. #10
    Originariamente inviato da Andriy88
    Be, ho fatto come descritto all'inizio di questo topic..
    Salvo i dati della ultima visita sia sul database che sui cookie..
    Così quando un utente rientra una seconda volta, controllo:
    1. Data Ultima Visita nei Cookie
    2. Se l'utente è loggato. Data Ultima Visita nel DataBase.
    3. Prendo la data più Recente fra le due e visualizzo i msg da quella data fino a data attuale come msg nuovi..
    Chiedo scusa se riapro un topic molto vecchio come questo, ma sono solito utilizzared la funzione cerca dei forum, e ho trovato pochi topic vecchi a proposito, tra cui questo.
    Comincio dicendo che sto realizzando un forum in php come l'autore di questa discussione, e anche io mi sono bloccato in questo punto.
    Ho realizzato tutte le altre funzioni possibili in un forum ma non riesco a capire come fare questa.

    Andriy88, all'inizio avevo pensato anche io alla tua soluzione, ma mi è sorto un problema:
    3. Prendo la data più Recente fra le due e visualizzo i msg da quella data fino a data attuale come msg nuovi..
    mettiamo che io vedo un nuovo messaggio, entro nella sezione, quindi nel topic, e leggo i nuovi messaggi. Poi esco e torno alla home del forum. Come fai a dire che quel messaggio l'ho letto e gli altri no basandoti sulle date?
    Penso che il confronto rimane con l'ultima data di visita, quindi quel topic lo darà sempre come nn letto, come si fa?
    Posso sapere come hai gestito questa cosa? Se qualcuno ha una soluzione vi prego postatela perchè sto uscendo pazzo!
    Grazie a tutti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.