Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Utente demo

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    167

    Utente demo

    Salve,
    ho sviluppato un'applicazione basata su php e mysql ed è perfettamente funzionante solo che è nata all'ultimo momento l'esigenza di implementare un utente demo per provare l'applicazione. L'utente demo è particolare in quanto:
    1) quando esce le modifiche che ha fatto devono sparire.
    2) ci possono essere più utenti demo contemporanei e quindi non posso usare la semplice login per distinguere i vari utenti.

    Come posso gestire i due problemi senza modificare troppo il codice e/o la base di dati?

  2. #2
    io aggiungerei un campo "tipout" alla tabella utente
    (ovv.te esisterà una tabella tipo...Id, Descr)

    se è di tipo demo allora eviti di fare update delle tabelle.

    VaneX

  3. #3
    Esatto, oppure l'update lo fai ma su una tabella demo...

  4. #4
    giusto.
    per gestire più utenti demo basta un id progressivo:
    "demo_123456"

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    167
    Innanzitutto grazie a tutti per i suggerimenti.
    Basandomi su questi ho pensato ad una soluzione come questa:
    quando l'utente demo entra assegno un suffisso casuale ad esso, del tipo demo1234 e quindi creo tutte le corrispondenze fondamentali relative a questo utente (corrispondenze fittizie ovviamente) nella base di dati. Dopo di che tratto l'utente come se fosse un normale utente solo che, al logout, se l'utente contiene la stringa "demo" cancello tutte le sue occorrenze dalla base di dati. Che ne pensate? Mi sembra una soluzione abbastanza decente solo che mi viene in mente un altro problema: se l'utente non fa il logout, ma esce chiudendo direttamente la finestra del browser, mi rimangono le voci relative ad utenti demo vari in giro per la base di dati, il che non è molto bello. Come posso ovviare al problema? Mi viene in mente solo una routine apposita che cancella tutti gli utenti demo da lanciare di tanto in tanto.

  6. #6
    Ne discutevo ieri. Tramite javascript gestisci la chiusura di browser, lanci uno scrip e cancelli. Attenta però che colui che è demo non scriva nella tabella ufficiale, crea proprio una tabella demo...

  7. #7
    io farei diversamente:

    - crei una sessione fittizia per ogni utente+id, che conterrà 2 campi (oltre ai soliti user_id e id_sessione):

    "start_session"=dataora corrente
    "last_page"=dataora ultimo movimento

    ovviamente alla creazione i 2 campi dovranno assumere valore uguale

    - ogni cambio pagina utente, upgradi la tabella sessioni del campo "last_page" con dataora corrente

    - se l'utente fa il logout, cancelli il record sessione

    - se l'utente non lo fa, chiudendo la finestra, ti resta il record sessione, che però puoi eliminare facilmente con uno script ad ogni inizio pagina:
    Codice PHP:
    DELETE FROM tabella_sessioni
    WHERE UNIX_TIMESTAMP
    ()-last_page>1800 
    ovvero cancelli tutti i record sessione non più aggiornati da almeno mezz'ora (1800 secondi).

    che ne dici ? ciao!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.