Gdr Extreme - problemi postato il 16/07/2011 22:35:01 nel forum programmazione, gdrcd e open source
Ciao a tutti, avremmo un piccolo problema con GDR CD EXTREME che spero ci aiutiate a risolvere.Abbiamo tentato di tutto, e nemmeno abbiamo modificato il codice php di Login o la tabella Presenti, ma tutte le volte che si entra non si vanno a riempire i campi di quest'ultima tabella, con il risultato che in land ci va sul simboletto grigio del sesso, senza gilda ne razza.
L'unico modo per farlo funzionale è sloggare con il tasto "esci" e rientrare subito.
Il problema è che per chi non è mai entrato in land o per chi è passato del tempo non si può dover sempre entrare uscire e rientrare, in che modo possiamo risolvere la cosa?
Grazie per l'aiuto.
Pagine → 1
16/07/2011 23:00:52
su che host e caricato?
avete verificato se caricando il programma in originale(zero modifiche) su altro host l'errore si ripete?
16/07/2011 23:07:15
Attualmente è su altervista, provato anche su Aruba e da lo stesso problema..
17/07/2011 01:44:33
Se non ricordo male nell'Extreme l'INSERT o l'UPDATE della tabella "Presenti" si effettuava uno nel login e l'altro in main.php.
Controllati bene queste due pagine, o magari falle controllare al programmatore della land, sarà un errore stupido. Nel caso non trovi errori nelle pagine che ti ho detto vediamo di capire perchè il processo di inserimento query non và a buon fine.
Aspetto risposte ^^
17/07/2011 03:17:59
EXTREME ha deicsamente un bug in quel punto. Ho aperto l'archivio zip che conservo per modifivi storici (XD) con il codice di EXTREME e in effetti mi sono sopreso di vedere quello che ho visto. Chissà perchè non mi è balzato agli occhi prima, ci ho pure basato un land sull'EXTREME XD
Allora l'errore è presto detto. EXTREME funziona così:
Quando fai login, lo script controlla tutti i tuoi dati, setta le variabili di sessione e solo dopo, in un controllo a parte, aggiorna la tabella dei presenti. Peccato che quella query non è una query di inserimento nel database, ma bensì è una UPDATE. Questo significa che se nella tabella dei presenti non c'è già una riga con i tuoi dati, semplicemente i tuoi dati non verranno inseriti nella tabella dei presenti.
Poi però, non essendoci nessun controllo degli errori sulla query, lo script ti fa continuare ugualmente e ti fa entrare nella land. E così ecco che sei dentro, ma non compari sulla lista dei presenti.
Nel momento stesso in cui entri nella mappa principale viene eseguita la funzione di cambio stanza. Ed è proprio in questa funzione che c'è la chiave del mistero, perchè qui viene fatto non solo un aggiornamento della tabella presenti quando ti sposti da una mappa a un altra, ma bensì viene anche fatto un INSERIMENTO se risulta che non sei nella lista dei presenti.
Ecco...adesso sei nella lista, però la funzione cambio stanza è un po' stupida, perchè fa un inserimento con il tuo nome e la tua stanza, ma non include anche tutte le altre informazioni che servirebbero...
Quindi al tuo primo login ti ritrovi come hai descritto tu.
Se fai logout e subito login il bug si risolve; questo perchè quando fai logout la riga nella tabella dei presenti non viene cancellata. Viene cancellata solo dopo 12 minuti. Quindi se fai login in quei 12 minuti lo script di login potrà fare l'aggiornamento con successo e avrai tutte le informazioni che servono.
La soluzione è mettere un adeguato controllo nello script di login. Controllare prima se esiste una riga per l'utente nella tabella dei presenti, se esiste aggiornarla, se invece non esiste inserirla.
17/07/2011 23:22:55
Il sapere di non essere pazzo è fantastico *-* intanto Grazie
Cmq... più che altro... approfittando veramente veramente tanto della cortesia, come lo metto questo controllo? Perchè in tutta confidenza, ho mezzo tentato ma è stato un megapasticcio...
18/07/2011 11:19:40
Abbiamo risolto *__*
...alla fine si è scoperto che avevamo tolto involontariamente un pezzo di codice dal frame a destra u.u (mappa) dove, per l'appunto, c'era il Update dei personaggi in Presenti...
Grazie a tutti per l'aiuto <3
A presto sui vostri schermi con nuovi fantastici dubbi di programmazione è_é/
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
Celebrando 20 Anni di GDR-Online.com: un grazie di cuore!