Visualizzazione risultati 1 fino 14 di 14

Discussione: php login chat

  1. #1
    Guest

    Predefinito php login chat

    Auguri di buona Pasqua...

    ragazzi ho creato una chat in php e js....
    il problema è che non vorrei che più utenti usassero lo stesso nome come posso fare...
    Codice PHP:
    echo('<script type="text/javascript">alert("Questo nickname è già utilizzato da qualcuno..")</script>');

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    I messaggi in che tipo di database li salvi?

    Comunque supponendo che sia mysql, con una query controlli se ci sono messaggi o meno con quel nickname

    Codice:
    SELECT * FROM messaggi WHERE user = 'utente'
    La esegui e con mysql_num_rows controlli il risultato, se è maggiore di 1 è già in uso altrimenti è libero.

  3. #3
    Guest

    Predefinito

    uso un file di testo per i messaggi...

  4. #4
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Con che struttura vengono salvati i messaggi?

  5. #5
    Guest

    Predefinito

    in che senso...
    io uso
    fopen
    fwrite
    fclose

  6. #6
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    A me interessa sapere in che modo salvi i dati nel txt ( la struttura):
    Codice:
    autore|messaggio
    autore2|messaggio

  7. #7
    Guest

    Predefinito

    no come codice html
    <p>
    <span class="name">Joll alle ore 21:20:38 scrive: </span>
    <br>
    <span class="txt">messaggio</span>
    </p>

  8. #8
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    In quel modo i dati sono difficili da gestire, avresti potuto strutturare il tutto in modo migliore :)!

  9. #9
    Guest

    Predefinito

    lo so ma per ora per me va bene cosi...
    ti spiego cosa mi serve...

    1)Vorrei che 2 utenti che hanno lo stesso nome non potessero chattare...
    se uno cerca di entrare in chat con lo stesso nome di uno già in chat in caso lo avverte con un alert...
    che quel nome e già stato usato...
    ma non so come posso fare....


    2)Quando uno entra in chat vorrei che viene stampato online.
    cosi per tutti gli utenti online.
    e quando utente fa il logout
    la scritta (Nickname del utente)online scompare di quel dato utente....

  10. #10
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Per te va bene, ma come ti ho detto i dati sono difficili da gestire e quello che chiedi di fare non è semplice in quel modo (magari con le regexp puoi fare qualcosa ma secondo me è uno spreco).
    La cosa ideale sarebbe stato usa mysql...

  11. #11
    Guest

    Predefinito

    se usavo il db come potevo fare secondo te....

  12. #12
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Secondo me oltre al nickname e al messaggio salvi il timestamp e un campo 'online' per controllare se l'utente sia online o meno. Il campo online viene impostato a 1 se è online a 0 se offline
    Per controllare se un nickname è già utilizzato fai come ho scritto nel primo post ma con una condizione in più

    Codice:
    SELECT * FROM messaggi WHERE user = 'utente' AND online = 1

  13. #13
    Guest

    Predefinito

    cosi dici
    CREATE TABLE IF NOT EXISTS `chat` (
    `id_nickname` int(11) NOT NULL auto_increment,
    `nickname` varchar(65) NOT NULL default '',
    `messaggio` varchar(65) NOT NULL default '',
    `ora` bigint(20) NOT NULL default '0',
    `online` enum('0','1') NOT NULL DEFAULT '0',
    PRIMARY KEY (`id_nickname`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

  14. #14
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Si però in ora non devi inserire una data già formattata ad esempio 21:20:38, ma il timestamp che ottieni con la funzione time()

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •