[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
ayakashi si è accreditato come gestore di We love Tokyo
La Tana del Ladro: TdL Stories - Le Solite Fandonie
Lineage II → Entra in uno sconfinato mondo fantasy dominato da razze in contrasto tra loro. Scatena i tuoi poteri in uno dei Mmo più famosi al mondo!
shiny fluff ha recensito Age of Crystals
Enlisted: Miglioramento dell'operazione "Leadstorm"
Lineage II: Evento di Benedizione dell'Arcangelo
I dati del generatore di rank sono stati aggiornati!
NosTale → Con l’aiuto della spada e della bacchetta magica risolverai abilmente intricate missioni e domerai coraggiosamente mostri selvaggi!
Il gestore di La Tana del Ladro ha risposto alla recensione di elyionar
Cleveland City: Nuova Organizzazione, nuove Chat e nuovi Master
Ex Gratia GDR: Revisione Poteri: Mutazione, Mentali e Utility
Il gestore di Ex Gratia GDR ha risposto alla recensione di deanna
NosTale → Con l’aiuto della spada e della bacchetta magica risolverai abilmente intricate missioni e domerai coraggiosamente mostri selvaggi!
Exclusive Villa GdR: Un morto, nessuna notizia... troppi segreti?
World of Warship: Cantiere navale: Blücher
Enlisted: Operazione "Leadstorm"
naemaer ha recensito La Tana del Ladro
War Robots → Domina il campo di battaglia con War Robots: strategia, azione e mecha in un'esperienza multiplayer epica!
Avventuriero - Scopri la figura dell'avventuriero attraverso degli utilissimi consigli di gioco!
Storie di Agarthi - Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, inizia l'avventura!
F.a.q. del Portale - Hai dei dubbi sull'utilizzo del portale? Dai un occhiata alle frequently asked questions!
Fumetto Giapponese - Manga: studio delle caratteristiche grafiche e narrative del fumetto giapponese
GdR d'Azzardo - Modi divertenti per incorporare il gioco d'azzardo nei giochi di ruolo
Mutation GdR - Intervista alla gestione del PbC con i mutati urban fantasy Mutation GdR!
Creazione Linguistica - Tesi di Laurea dal titolo: La creazione linguistica in J.R.R. Tolkien
OldOak - Intervista al gestore del play by chat fantasy OldOak