Mutazione in Scheda (Extreme) postato il 19/04/2010 13:46:22 nel forum programmazione, gdrcd e open source e modificato da vlada il 19/04/2010 14:55:39
Buongiorno a tutti sorratemi ( nuovo termine XD) ma sono sempre qua a rompere.
Stamane ero in vena di gettarmi in una nuova ed emozionante avventura ovvero dare la possibilità a quelle razze che hanno diverse forme (umana, animale, eterea, demoniaca etc) di scegliere quale "indossare" in ogni momento e per farlo ho attuato questa tecnica.
Vado sul database e creo nella tabella Personaggio la riga Trasformazione con un semplice tinyint(1).
Successivamente creo la pagina con menù a tendina fiquerrimo che offre a seconda della razza (che viene ricavata dalla sessione) la possibilità di trasformarsi in una o più forme differenti.
Vado poi in scheda.php e creo collegamento verso la pagina dove ci si trasforma e faccio visualizzare tra le varie info anche in quale forma si è al momento.
Funziona tutto perfettamente.
Unica cosa....
Se clicco sulla scheda di un altro pg, anche solo UMANO! mi vedo sta diavolo di informazione ovvero "Forma Attuale: Umana" e come potrebbe essere altrimenti!!! Inorridisco e urlo...poi con mio grande orrore clicco sopra e mi porta nella pagina dove si modifica la forma assumibile, quella col mio menù a tendina!!!!!
Muoio dentro quindi cerco di capire come mai succeda questa cosa, inoltre se clicco sulla scheda di un altro pg e clicco per cambiare la forma assumibile, vado (grazie al cielo) non a modificare quella di quel determinato pg ma la mia medesima.
Il codice che ho impostato è del tipo ( if razza=qualcosa allora vedi comando1, if razza=qualcosaltro allora vedi comando2)
Copio qua sotto il codice che ho inserito per i mannari
Pagine → 1
19/04/2010 15:39:10
Dovresti rivedere le due variabili $pg e $Login (mi pare che si chiamino così), cmq la var che tiene il nome del pg al quale appartiene la scheda che stai visualizzando ($pg) e il nome del pg del player che è loggato e che sta navigando quelle pagine ($Login)
se $pg e $Login coincidono allora è l'utente stesso che sta guardando la sua scheda e dovresti fargli comparire la tendina per modif la mutazione
altrimenti, se $pg è diverso da $Login significa che chi sta guardando quell'avatar non è il player di quel pg, quindi non dovresti permettergli di accedere alla pagina di modifica.
anche per il recupero delle info, se vai in select con $Login recupererai sempre le info del pg di chi sta leggendo, per visualizzare le info del pg legato a quell'avatar dovresti filtrare sulla var $pg.
19/04/2010 15:47:25
19/04/2010 16:17:43
Ecccomi seguendo il consiglio di La Kaiah ho giocherellato un poco con quelle due variabili li ovvero $pg e $Login, ho sostituito nell'if $pg al posto di $Login ed è tutto magicamente andato al suo posto *_*
Vi aNo tantissimo!!!!
Grazie della vostra disponibilità!!!!XDXD
20/04/2010 11:20:14
Resuscito il Post +Lancia Areiz
Questa mattina ho avuto ufficialmente la conferma di essere pazza...
Come se il collezionare occhi di vecchie bambole e collane di mosche non fossero segni già abbastanza terrificanti di una follia galoppante mi sono messa a programmare una cosa abbastanza complessa....
Sono andata in input.php per vedere se mi riusciva (dato la splendida trasformazione in scheda) di far comparire nella chat, a seconda della forma assunta, degli indicatori di tale forma, prendendolo come fosse un TAG di Locazione
Ho operato quindi sul codice come segue:
1) In alto tra le variabili inserisco
20/04/2010 11:53:24
$Forma=$_SESSION['Forma'];
if($_POST['Forma']!=""){$Forma=$_POST['Forma'];}
$_SESSION['Forma']=$Forma;
così facendo sovrascrivi sempre la var $Forma con il valore in sessione, hai provato a togliere l'assegnazione iniziale?
così:
if($_POST['Forma']!=""){$Forma=$_POST['Forma'];}
$_SESSION['Forma']=$Forma;
20/04/2010 13:21:07 e modificato da vlada il 20/04/2010 20:45:53
Ok ho modificato in questo modo
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
I dati del generatore di rank sono stati aggiornati!