[gdrcd advanced] come creare una pagina segreta postato il 25/09/2012 14:56:40 nel forum programmazione, gdrcd, open source, hosting
Ciao a tutti!
Sto smanettando su gdrcd advanced, e vorrei creare una pagina segreta, una pagina che può essere vista solo dai personaggi scelti dal giocatore.
Questa pagina vorrei usarla come se fosse un background segreto, e solo quelli che hanno il permesso del Personaggio possono vederlo.
Però non so come creare questa pagina, e non so neanche da dove partire, anche perché ancora non conosco bene advanced e mi confondo di continuo.
Qualcuno può aiutarmi?
Pagine → 1 2
25/09/2012 18:43:22
con extreme era facile...infatti io lo uso ancora ...se capita e me lo richiedono uso il 5.1..dunque...diciamo che col 5 in effetti la pagina del par è inesistente...e non credo sarebbe possibile farlo...se vuoi quella stanza, disinstalla il 5 e mettiti extreme...tanto anche il 5 è bucabile...:)
25/09/2012 19:31:29
Kikko la soluzione al problema di mutantlover non dipende certo dalla piattaforma usata, dato che la soluzione è identica sia che stia lavorando su gdrcd extreme (vecchio, orrendo e non più disponibile) che su gdrcd5.1 (nuovo, meno orrendo)
La soluzione per il tuo problema è un po' complessa. Se ho capito bene quello che vuoi fare, tu desideri che ogni utente del tuo sito si ain grado si specificare una lista di altri utenti che possono accedere alla sua pagina segreta.
Per fare questo ti serve necessariamente una nuova tabella nel database. Questa tabella terrà in memoria i permessi che tutti gli utenti hanno dato agli altri utenti per le proprie pagine segrete. è sufficiente che contenga due campi: il nome del personaggio che da il permesso, e il nome del personaggio che riceve il permesso.
Dopo di che dovrai creare la pagine segreta stessa. sarà strutturata esattamente come la pagina del profilo, solo che al suo inizio avrà una query che controlla se l'utente attuale si trova nella lista di utenti che hanno accesso alla pagina.
Devi anche aggiungere un campo nella tabella personaggio e modificare il form di modifica della scheda per memorizzare il testo effettivo che dovrà andare nella pagina segreta.
Inoltre servirà un ulteriore pagina che permetta agli utenti l'aggiunta e la cancellazione dal proprio elenco di personaggio autorizzati.
25/09/2012 21:03:13
Grazie leoblacksoul! farò così, e se ci riesco pubblicherò la soluzione.
28/09/2012 19:11:58
Ho ancora bisogno di una mano... Sto a buon punto, ma mi mancano solo due cose che non riesco a realizzare.
In pratica, ho seguito alla lettera quello che ha detto leoblacksoul. quindi ho creato una nuova tabella che ho chiamato "bgsegreto" ed ho creato due campi: nome_bg (che raccoglie il nome del proprietario del background segreto) e nome_permesso (che raccoglie il nome del personaggio che può visualizzare il background segreto).
Fatto questo, ho aggiunto un campo nella tabella "personaggio" identico ai campi "affetti" e "descrizione", e l'ho chiamato "bgsegreto". Poi ho modificato la pagina scheda_modifica.inc.php per fare in modo che questo nuovo campo potesse essere modificato come gli altri.
Infine, ho creato una pagina per permettere agli utenti l'aggiunta e la cancellazione dal proprio elenco dei personaggi autorizzati (la pagina è lunga 200 righe, per questo non la aggiungo).
Le due cose che mancano sono le seguenti:
- la query per filtrare chi può e chi non può vedere questi dati
- qualcosa per evitare che nell'elenco vengano inseriti più volte gli stessi dati, perché così come l'ho fatto, se voglio aggiungere il personaggio "caio", posso aggiungerlo un'infinità di volte. In sostanza, mi serve fare in modo che uno non registri nel database una nuova riga con gli stessi dati.
28/09/2012 23:19:13
Nella tabella del database metti entrambi i campi come chiave primaria. Questo impedirà la duplicazione dei dati. Ricordati che se un utente cerca di inserire due volte lo stesso permesso la query di inserimento fallirà, quindi devi fare un adeguato controllo degli errori.
Per il codice di controllo...magari te lo scrivo quando sono al pc che dal cell è difficile XD
29/09/2012 12:27:21
La query di controllo accessi
Assumo che il nome del personaggio a cui appartiene la scheda venga passato per GET
29/09/2012 13:41:30
Grazie leoblacksoul! sei troppo gentile!
Provo subito la query che mi hai fornito. Il background segreto non l'ho inserito in una pagina a parte, per ora l'ho messo nella pagina scheda.inc.php, che è la pagina iniziale della scheda. Così, come si apre la scheda appare tutto... Avevo pensato di farlo visibile "a permesso", cioè di farlo apparire visibile solo a chi ha il permesso di vederlo, un po' come il tasto modifica che può essere visto solo dal proprietario della scheda o dai master. Però prova questa query, e se non riesco a usarla nella pagina principale, creo una pagina a parte.
Ha funzionato anche il suggerimento di mettere i due campi come primary key! adesso non si possono registrare due volte gli stessi permessi.
Però, come avevi previsto, serve un controllo, perché se adesso uno prova il permesso ad un giocatore che già ha il permesso, appare questo errore:
29/09/2012 17:07:48
Ciao Mutant! Io posso aiutarti con la questione dell'eliminazione dei dati, perché sono riuscito a risolvere tutto senza creare un terzo campo. Questa è la query che ho usato io.
29/09/2012 18:48:13
Dai non perdetevi in un bicchier d'acqua XD La parte più complessa ormai l'hai già implementata, mancano i dettagli.
Va benissimo la query di baboomba per la cancellazione di un permesso. è in metodo giusto. Inserire un campo numerico univoco per ogni permesso non avrebbe senso, perchè devi ricordarti che la chiave primaria stessa è il dato univoco (in questo caso la coppia proprietario-permesso).
La sua soluzione si basa sul fatto che non vuole un campo in cui scrivere quale permesso cancellare, ma mette solamente un bottone (con un input nascosto) per ogni permesso esistente (immagino che la tua pagina web abbia una tabella che lista tutti i permessi esistenti e quindi metti un bottone su ogni riga di permesso)
Il codice che ho scritto per il controllo di accesso va bene anche se è inserito dentro alla scheda stessa, basta togliere l'else.
"passare per GET" vuol dire che il nome del personaggio proprietario della scheda che si sta visualizzando deve essere scritto nell'url della pagina (scheda.php?pg=pippo), cosa che è già vera se stiamo operando nella pagina della scheda stessa.
Inserire la doppia chiave primaria era solo un passo, che in realtà ci serviva solo per assicurarci la correttezza dei dati sul database. Il secondo passo è mettere l'anti-duplicazione anche nel codice php, PRIMA della query di inserimento:
Immaginando che le informazioni per l'inserimento arrivino tramite POST avremmo:
29/09/2012 20:37:44
Grazie baboomba! ho provato la tua soluzione e funziona! *_*
Però... Non riesco a capire come integrare la query di leoblacksoul con quella che ho fatto io. Dovrebbe essere facile, ma mi confondo con gli "if", visto che già quella che ho fatto io per inserire un dato, ne ha uno. La mia query per l'inserimento dei dati è questa:
Discussione seguita da
Pagine → 1 2
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
DarkOrbit → Galassie remote e pericoli in agguato ti attendono. Vinci battaglie avvincenti in DarkOrbit: diventa un cosmonauta temerario e combatti!
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
NosTale → Con l’aiuto della spada e della bacchetta magica risolverai abilmente intricate missioni e domerai coraggiosamente mostri selvaggi!
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 💥
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, diventa quello che hai sempre cercato.
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
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
MondoMago - Intervista ai gestori di MondoMago.. il play by chat potteriano! Scatena la tua magia!
Letteratura Estesiva - Letteratura estensiva: Romanzo seriale e planimetrie fantasy per il lettore globale.
Giochi Storici - Lista completa dei giochi di ruolo online storici
ArCon-Artificial Conflict - Intervista ai gestori del play by chat ArCon-Artificial Conflict!
Era di Mezzo - Intervista al gestore del gioco di ruolo online Era di Mezzo ambientato nel magico mondo di Shannara!
Sviluppo Browsergame - Tesi di laurea sulla progettazione e lo sviluppo di un Browsergame di Tchoukball