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
Nuovo Play by Chat Fantasy Storico → La Cour des Miracles
FragPunk → Gioco d'azione frenetico ispirato al punk, con gameplay caotico, ribelle ed energia illimitata! Gioca gratuitamente!
Articolo → Pokémon Go: molto più di un gioco, una rivoluzione silenziosa nell'IA geospaziale
Sondaggio → Sei favorevole all'uso dei dati dei giochi (in generale) per addestrare l'intelligenza artificiale?
lionhearted ha aperto una nuova discussione: L'Era della Solitudine e Altri Demoni e Falsi Miti del GdR
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!
I dati del generatore di rank sono stati aggiornati!
hiskoa ha aperto un annuncio di ricerca: Eternal Dream ricerca Giocatore
jennyeverdeane ha recensito Dusk
tamba80 ha recensito La Tana del Ladro
Dominion Gdr → In una NY con un tessuto sovrannaturale nascosto, il Bronx Vampirico e il Queens dei Lupi ribollono sotto il Dominio dei Bokor. Quanto durerà la pace?
jennyeverdeane ha aperto una nuova discussione: Limitazione caratteri per venire incontro ai vecchi player o cosa?
jennyeverdeane ha recensito Miami Gdr
chinho ha recensito La Tana del Ladro
Left To Survive: È tempo di raid! 🚁
Metin2 → Sfida i tuoi rivali a battersi con te e dimostra la tua superiorità in questo mondo fantasy!
Codici di Stato HTTP - Guida ai codici di Stato HTTP e relativi errori! Navighiamo informati!
Young Riders - The Young Riders Italia: ode all’Ovest americano!
Ambientazioni GDR - Lista di belle ambientazioni non sfruttate dai gestori di giochi di ruolo. Utile per avere spunti per un nuovo gdr!
Giochi di Zombie - Lista completa dei giochi di ruolo online ambientati in mondi invasi da zimbi e non-morti! Sopravvivi!
Games as a Service - I videogiochi "games as a service": è la fine di un'era?
Il PbC in Cifre - Analisi statistica sul play by chat nell'anno 2011 ricavato da osservazione amtematica delle presenze
Planethos GdR - Intervista allo staff di Planethos GdR il gioco di ruolo ambientato nella città di Pentos!
Star Trek Horizon - Intervista ai gestori del play by chat Star Trek Horizon! Attivazione!