• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Chat in Ajax/PHP [BOOTSTRAP]

Tapatalk

Utente Esperto
Autore del topic
28 Agosto 2013
1.315
83
Miglior risposta
3
Salve a tutti, non sono qui per postare qualcosa di nuovo. Diciamo che questa discussione è rivolta alle persone che vogliano testare un po' ciò che ho fatto.
Accetto qualsiasi tipo di critica/consiglio, da quelli che diranno di migliorare la grafica, chi il linguaggio in cui è sviluppato, ecc. Come già detto, è una specie di Beta di una Beta di una Beta, un progetto senza un fine particolare.

Di cosa si tratta?
Quello che andrò a postarvi è una semplice chat creata in JQuery/Ajax e PHP. La grafica, non essendo il punto principale, è sviluppata principalmente con le classi di bootstrap, quindi dovrete aggiungere anche quello nel vostro sito. Inoltre, ho usato le icone di FontAwesome, per cui vi beccate pure quelle c:. Tranquilli, sono già stati aggiunti nel file principale ;)

Cosa dovrei fare?
È molto semplice: se hai voglia e tempo, dovresti prenderti qualche minuto (o ora o giorno) per scaricare questa chat (magari, se riesci, implementandola in un tuo sito) e provarla per diverso tempo, segnalandomi qua sotto eventuali miglioramenti, bug e così via.

Cosa offre questa chat?
- La chat permette di inviare messaggi a tutti gli utenti registrati.
- Si può fare una ricerca e scorrere i risultati con le frecce direzionali.
- Si possono eliminare le chat.
- Ogni volta che navigando nel sito si ricevono dei messaggi, apparirà una notifica, e nella chat apparirà uno sfondo grigio sulla chat intrapresa con la persona per segnalare, appunto, un nuovo messaggio.
- I messaggi vengono codificati quando inviati e decodificati per leggerli.
- La chat è in tempo reale.

Ci sono già dei problemi?
Sono giorni che la testo, e tutti i problemi principali dovrebbero essere risolti. L'unico problema è che il sito resterà sempre in ascolto di nuovi messaggi, e questo potrebbe rallentare le prestazioni dello stesso. Infatti, è anche per questo che posto la discussione: vorrei trovare, se possibile, una tecnologia migliore per restare in ascolto di nuovi messaggi senza rallentare il sito. Tuttavia, conosco pochi linguaggi WEB, quindi mi sbizzarrisco con quello che posso per ora.

Come lo installo nel mio sito?
Requisiti:
- un host per il tuo sito (se in locale con un PHP da 5 in su, migliore il 7; altrimenti è perfetto Altervista).
- un database Mysql.

Per prima cosa, recati nel file conn.php e trova questa stringa:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Poi sostituisci i campi "tuapassword" e "tuodb" con le rispettive credenziali del tuo database.

Ora entra nel tuo database ed esegui le due query che si trovano nel file sql.txt.
ATTENZIONE: se hai già una tabella users, ti basta che quella tabella abbia almeno i campi id e username.

Per utilizzare la chat devi:
- avere almeno due utenti registrati nel database.
- accedere con almeno uno di questi due, oppure potresti cercare questa stringa nel file conn.php:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
E cambiare lo 0 con l'ID dell'utente con il quale vuoi essere loggato. Questo ti darà il vantaggio di non dover fare il login con un utente per usare la chat. L'importante è che l'ID sia veritiero, cioè corrisponda ad un utente nel database. Inoltre, potrai cambiare da un utente all'altro in pochi secondi: supponendo che tu abbia due utenti (ID 1 e 2 per esempio) ti basta sostituire lo 0 con 1, inviare un messaggio all'utente 2 (cercando il suo username), e poi cambiare di nuovo l'ID con 2, così da testare i due utenti e i messaggi tra loro.

Per ultimo, ti basta inserire la cartella "chat" nella tua root ed avviare il programma dal file index.php.

In caso di problemi o suggerimenti sono qui

Screenshot:
Cattura.PNGCattura8.PNGCattura9.PNG

P.S.: se volete (non è obbligatorio) potete includere nell'index.php anche il file popper.min.js di Bootstrap (si trova nel sito di Bootstrap stesso), che serve principalmente per i tooltip, ovvero dei titoli personalizzati per i bottoni.

Download:
Perfavore, Entra oppure Registrati per vedere i Link!

Scansione:
Perfavore, Entra oppure Registrati per vedere i Link!


Alla prossima!
 
Ultima modifica:
  • Like
Reactions: Cosimo Celeste
Infatti, è anche per questo che posto la discussione: vorrei trovare, se possibile, una tecnologia migliore per restare in ascolto di nuovi messaggi senza rallentare il sito.

Utilizza i socket e scrivi un server che gestisca le connessioni tra i vari utenti.
Da quanto ho visto il tuo client non "resta in ascolto", richiede continuamente nuovi messaggi al server, questo lo rende poco efficiente.
 
  • Like
Reactions: theKaost