controllo login e order by presenti postato il 19/04/2014 04:33:06 nel forum programmazione, gdrcd e open source
Salve a tutti.
Risolto un problema se ne presentano sempre altri mille. E risolti questi se ne presentano altri. :-(
Mi restano da risolvere, per ora, due problemi. Uno son certo che sia di facile soluzione ma tutti i tentativi che ho fatto non sono andati a buon fine (forse l'ora tarda non aiuta). Uno invece è forse una mia fissazione e non c'è modo di farlo in maniera semplice.
Premessa: ho una tabella "personaggio" in cui ci sono i campi "nome", "password", "ora_entrata", "ora_uscita" (ce ne sono anche altri ma non servono).
1) Partiamo dal più facile (credo): una volta creata la pagina di login (che funziona senza problemi) mi sono accorto di un problema: se mentre sono connesso provo a rifare il login mi si connette lo stesso. Ergo non ho messo il controllo nel file di login. Quindi mi dico: "mettiamolo, cosa sarà mai". Ma non mi riesce. Ho fatto più di dieci tentativi, se non più di venti, e non ne sono venuto a galla. Molto probabilmente l'orario non è dalla mia parte e questo influisce sul risultato. Qualcuno potrebbe aiutarmi spiegandomi come vedere se una volta inseriti i dati l'utente è o meno connesso? E, nel caso sia già connesso, come faccio a far fare al programma un countdown tale che dopo 5 minuti risulta essere ora_uscita>ora_entrata e quindi l'utente può connettersi?
2) Ora quello più complesso (anche da spiegare). Supponiamo che ci siano i personaggi A e B.
A è connesso e B no. Quando B si connette è possibile leggere "B è entrato". Quando B esce è possibile leggere "B è uscito". Anche quando A entra o esce è possibile leggere, rispettivamente, "A è entrato" o "A è uscito". Il problema è il seguente: supponiamo che A e B facciano le seguenti azioni:
A è uscito
B è entrato
A è entrato
B è uscito
B è entrato
invece di visualizzarmi ingressi e uscite in quella maniera me li visualizza in questa:
A è entrato
A è uscito
B è entrato
B è uscito
Di sicuro il problema sarà nella query quando seleziono i dati dal db non avendo messo ORDER BY. Ma anche se lo metto l'ordine non è mai quello che voglio io. La query è questa:
Pagine → 1
19/04/2014 11:39:19
Per la seconda domanda, dalla query che vedo e da come hai hai postato la struttura della tabella l'approcico secondo me è sbagliato.
invece di creare due campi nella tabella personagigo con la data di entrata e di uscita del pg (anche perchè qui ti segna solo l'ultima entrata e l'ultima uscita e ti rende anche difficile ordinare gli eventi quando ci sono più di due pg) ti converrebbe crearti una sempkice tabella per il salvataggio del log degli ientrati e usciti.
uno schema semplice pe runa tabella del genere potrebbe essere:
19/04/2014 15:22:08
La tabella dei log l'avevo creata ma non avevo pensato di usarla anche per questo. In effetti semplifica molto le cose. Grazie mille. :-D
Per il primo problema (il controllo del login) qualcuno sa aiutarmi?
19/04/2014 15:32:40
Per la prima domanda ammetto che oggi sono un po' rinco io ma non ho capito se vuoi:
fareun controllo se il pg sia gia loggato e in caso tenti di fare un nuovo login venga restituito un messaggio dove dice appunto ch eil pg è gia loggato
oppure se vuoi far eun controllo se il pg è loggato e se non è loggato impedire l'accesso alla pagina
22/04/2014 17:26:58
Quello che vorrei è la prima che hai scritto. Se il pg è loggato vorrei che esca un messaggio tipo "il pg è già connesso, attendere 5 minuti" e che dopo 5 minuti venga distrutta la sessione di questo pg permettendogli di poter loggare.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
mirmidone ha risposto alla discussione: Una land con forti elementi d'ispirazione di Dragonero?