27/09/2014 21:43:02 e modificato da gdr-online.com il 14/10/2020 08:12:20
28/09/2014 01:02:42
Spiegazioni chiarissime, grazie davvero! ho impostato il codice sostituendo gli apici e riporto l'esito :-)
inizialmente mi ha dato un errore di sintassi e quindi ho tolto l'ultima parentesi graffa, quindi ho visualizzato il tutto correttamente. Si può inserire la pass, se è sbagliata lo spazio ritorna bianco semplicemente, se è corretta si passa allo step successivo, ossia si ricarica la pagina e c'è il link Prosegui oltre.
Cliccando su Prosegui Oltre mi rimanda alla chat privata che ora visualizzo benissimo, preciso che ho dovuto impostare un proprietario fisso, nel nostro caso un pg di Gestione, altrimenti continuava a rimandarmi alla pagina con l'inserimento della pass.
L'unico problemino l'ho trovato qui:
GDRCD MySQLi Error [File: frame_chat.inc.php; Line: 38]
Error Code: 1064
Error String: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server
version for the right syntax to use near 'affected' at line 1
Error Detail: affected
per farlo sparire ho tolto questa riga di codice qui:
28/09/2014 19:35:29
29/09/2014 12:44:41
Reintegrata la parte di codice corretta e va tutto alla grande! :-)
Riguardo all'elenco invitati effettivamente che un pg possa rientrare sempre nella chat di cui la prima volta ha dimostrato di conoscere la parola d'ordine, finchè non viene cambiata, è logico anche secondo me, ma da quanto ho inteso parlando con alcuni utenti della land sembra che questo passaggio di dover inserire la parola d'ordine ogni volta renda molto l'ambientazione, non so come spiegarlo, fa una certa scena insomma :-) E ne sono contenta perchè era proprio l'effetto che volevamo ottenere.
Quindi mi sono scervellata per tentare di capire come svuotare questo elenco invitati, la tua soluzione di togliere il nome del pg dall'elenco nel momento in cui effettua il logout è perfetta, ma non so come impostare il codice, o quantomeno la parte iniziale del codice, quella in cui si inserisce la clausola del "se il tal pg è uscito", perchè la seconda parte suppongo mi basti copiarla dal "caccia", quindi risettando l'elenco invitati senza il nome del pg che ha effettuato il logout (fermami se dico follie, please!) e qui confido nel tuo, ennesimo, aiuto...
Ho azzardato qualche altro tentativo, quindi impostando un orario in cui l'elenco invitati si dovrebbe svuotare per esempio, ma pur riuscendo a creare un codice sintatticamente corretto non dava effetti e anche se li avesse dati sarei rimasta soddisfatta per metà, perchè sarebbe stata una soluzione decisamente un pò "arrabattata"!
29/09/2014 21:37:28
Si tratta di studiare per bene una richiesta al database che:
a) Trovi tutte le stanze in cui è presente il nome del personaggio come invitato.
b) Aggiorni la lista invitati di ognuno di quei record rimuovendo il nome del personaggio che sta effettuando il logout.
Per trovare tutte le righe coinvolte in cui c'è il nickname del personaggio che sta effettuando il logout dobbiamo ricorrere ad una ricerca per pattern tramite l'operatore LIKE http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like, al fine di trovare tutte quelle liste dove il contenuto parziale corrisponde a nomepersonaggio,.
La virgola viene aggiunta da gdrcd per separare la lista di nomi ed è utile includerla a nostra volta nella ricerca per evitare di trovare false corrispondenze (Ad esempio se un personaggio si chiama Sam e un altro Samuel, la ricerca di Sam troverebbe anche le righe di Samuel se non usassimo la virgola a definire la fine del nickname).
Di conseguenza sappiamo già come impostare la nostra clausola WHERE adesso:
29/09/2014 23:21:52
Appena finite tutte le prove del codice, innanzitutto grazie mille per la tua disponibilità, non solo nella formulazione del codice ma anche, e soprattutto, per non averlo postato e basta ma per il tuo gentilissimo intento di farmi capire come ci sei arrivato a quella stringa conclusiva. :-)
Sinceramente io non avrei mai potuto farla da me, ma quantomeno colgo l'occasione per tentare di capire qualcosina in più!
Riguardo all'esito delle prove... il codice l'ho inserito e fa delle cose ma in modo originale diciamo :-)
In sostanza invece di cancellare il nome del pg nel momento in cui fa il logout, lo cancella nel momento in cui un altro pg inserisce la password ed entra nella chat.
Sostanzialmente il primo pg non vede differenze, può continuare a scrivere ma se fa un Aggiorna o esce dalla chat, pur senza lasciare la land, viene chiuso fuori.
Se invece qualcuno presente nella lista invitati fa il logout non viene tolto dall'elenco.
Giusto per essere certi che non abbia dimenticato di inserire nulla nel codice, dovevo mettere solo quella stringa giusto? o impostare altro?
29/09/2014 23:35:34
La mentalità alla base dell'open source si può riassumere in tre parole chiave: cooperazione, condivisione e conoscenza.
Da parte mia cerco sempre di formulare interventi che mirino ad insegnare a chi non sa e mi fa piacere che tu abbia trovato il topic utile non soltanto al raggiungimento del tuo scopo ;-)
Quanto alla query non le va associato nessun controllo in quanto se il personaggio non risulta invitato in nessuna chat non verrà aggiornata nessuna riga.
Il problema che hai descritto mi perplime un pochino e mi porta a chiederti se hai copiato il pezzo di codice soltanto nel file logout.php (come dovrebbe essere) o anche in altri posti.
Il file di logout non viene chiamato accidentalmente: se lo visiti esci dal sito quindi mi suona strano che la query intervenga a modo suo, in caso controlla se nelle varie prove che hai fatto hai lasciato qualche rimasuglio di codice che potrebbe portarti al comportamento strano che hai esposto.
30/09/2014 00:06:29
oh mannaggia, io mica l'ho messo nel logout.php, l'ho messo da tutt'altra parte!! ho infilato quella stringa di codice in frame_chat..
scusami, ora è in logout, precisamente sotto la tua modifica per aggiornare l'ora di uscita di un pg, quasi all'inizio insomma.
Ma ancora mi dà quel problema, se entra un pg l'altro viene cancellato.
se può servire qualche dettaglio più preciso per capire l'inghippo dimmi cosa controllare :-)
30/09/2014 00:24:32
Nella pagina precedente ti ho fatto scrivere questo pezzo di codice nel frame_chat:
30/09/2014 14:08:44
Buongiorno, ho inserito il nuovo codice e purtroppo non ci sono state variazioni, ma dopo diverse prove credo di aver trovato l’inghippo. In sostanza il comando funziona, tranne che per gli ultimi arrivati, nel senso che se in un elenco ci sono 3 nomi chi e' entrato per primo e chi e' entrato per secondo viene cancellato dalla lista nel momento del logout, chi e' entrato per ultimo no.
Alla buona ho fatto una prova, direttamente sul Database ho messo una virgola dopo l’ultimo nome in elenco e così anche quel pg e' stato cancellato dall’elenco al suo logout, con il problema però che a quel punto in elenco era rimasta solo una virgola che ha bloccato l’accesso a chi tentava di inserire la pass. La prova però mi ha fatto immaginare che magari si potrebbe ovviare al problema modificando questa parte
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
I dati del generatore di rank sono stati aggiornati!
Legacy of Magic: Gli Elementi Oscuri - La Nera Signora dell'Acqua
OGame → In OGame migliaia di giocatori da tutto il mondo competono tra di loro per conquistare l'intero universo!
Il gestore di W40K Dathyar ha risposto alla recensione di dreamboy
dreamboy ha recensito W40K Dathyar
Metin2: Live ora: Server Boost Yohara e Twitch Drop
Entropia Universe → Lascia che il tuo avatar esplori nuovi mondi e viaggi tra i pianeti in questo stupendo MmoRpg Sci-Fi Free to Play!
Epic Wizardry RP: Changelog N. 4 - Epic Wizardry Rp
drongo ha recensito Il Grande Blu
Pirates of the Caribbean: Tides of War: Quarti di finale del torneo
DarkOrbit: Galactic Strife & Buono gratis 💥
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
Legacy of Magic: Il vecchio e la mappa
outrunstaff ha risposto alla discussione: Project OutRun PbC
meleys ha aperto un annuncio di ricerca: Westeros GDR ricerca Tester
CRSED: F.O.A.D. → Brutale sparatutto MMO in cui vince l'ultimo giocatore che resta in vita nell'arena! Ogni giocatore sarà accompagnato da armi realistiche e magie!
Storia del Gdr - Andiamo a ricercare le fondamenta del gioco di ruolo, da dove questo nasce e come si sviluppa nel tempo!
Chrome Safe Browsing - Il tuo gioco è stato colpito dalla schermata rossa di Chrome Safe Browsing alert? Ecco come risolvere!
Player Play by Forum - Articolo semiserio sugli utenti che si possono trovare sui play by forum suddivisi per tipologia!
GdR su ForumFree - Lista dei giochi di ruolo play by forum sul circuito ForumFree
Kingdom Hearts Gdr - Intervista a Roxal gestore del gdr Kingdom Hearts (Khuni). Gira la chiave per il mondo della fantasia..
Anime '80 - Tesi sull'Anime e la riproduzione simbolica del reale!