[GDRCD 5] Pagine scheda dentro i-frame [RISOLTO]
[GDRCD 5] Pagine scheda dentro i-frame [RISOLTO] postato il 16/04/2020 15:28:30 nel forum programmazione, open source e hosting e modificato da vivi1400 il 06/05/2020 22:04:55
Salve a tutti perdonate la richiesta nuovamente di aiuto :D
Ho creato nella piattaforma una pagina dedicata al regolamento. Ho fatto in modo che a sinistra ci sia l'indice ed a destra un i-frame dentro cui si aprono le varie pagine a seconda di quella selezionata:
<body>
<div class="menu_rule">
<ul>
<li><a href="/pages/rule/ambient.inc.php" target="framerule">Ambientazione</a></li>
<li><a href="/pages/rule/object.inc.php" target="framerule">Oggetti</a></li>
</ul>
</div>
...
...
<div class="centro" style="background-color: #525262;">
<iframe name="framerule" src="" width="95%" height="95%" frameborder="0"></iframe>
</div>
Così facendo, se clicco sul tasto "Ambientazione" mi carica la pagina ambient.inc.php dentro iframe
____________________________
Ho pensato di fare la stessa cosa per la scheda del personaggio...e quì mi è sorto il problema.
Attualmente ho utilizzato il javascript dei pop-up presente su GDRCD, per aprire le varie sezioni della scheda, mantenendo quindi valido l'accesso al database:
Codice attualmente utilizzato esempio:
Tasto per aprire la scheda:
"javascript:modalWindow('Scheda', 'Scheda di ". $_SESSION['login'] ."', 'popup.php?page=scheda&pg=". $_SESSION['login'] ."');"
All'interno della scheda aperta in pop-up Tasto per aprire l'inventario:
<div>
<a href="javascript:modalWindow('pg_inv', 'Inventario', 'popup.php?page=scheda_oggetti&pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']); ?>', '450')">
Inventario
</a></div>
A questo punto ho provato a "replicare", erroneamente, la cosa.
Ho lasciato la scheda che si apre in pop-up.
All'interno della scheda ho messo un i-frame
<div class="i_framescheda" style="background-color: #000000;">
<iframe name="framescheda" src="" width="100%" height="100%"></iframe>
</div>
ed ho provato a fare in modo che l'inventario si apra all'interno del frame:
<a href="main.php?page=scheda_oggetti&pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']); ?>" target="framescheda"> Inventario </a>
La cosa funziona, l'unico problema è che mi apre TUTTA la land (come appunto se non ci fosse il pop-up....come credo sia normale dato il codice utilizzato)
Avevo pensato di sostituire main.php con una pagina random.php dedicata appunto alla scheda...soltanto che non avrei idea, personalmente, di come creare questa pagina in modo che mantenga comunque valida la sessione e l'accesso.
Su questo, avrei bisogno di una mano ç_ç
Pagine → 1
16/04/2020 22:46:30
questo capita perché main.php?page=scheda_oggetti vuol dire apri la pagina main.php dentro trova la funzione gestione moduli tramite la variabile page e ti carica la pagina scheda_oggetti.
puoi semplicemente mettere pages/scheda_oggetti.inc.php invece di main.php?page=scheda_oggetti
17/04/2020 18:03:19
Per aprire una pagina "standard" si, ma nella scheda, occorre che si apre la pagina specifica del personaggio di cui si sta visionando la scheda.
Si andrebbe a perdere la stringa in php che lo permette:
'popup.php?page=scheda_oggetti&pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']); ?>
Non credo che abbia senso a livello di codice (e su questo perdonatemi l'ignoranza) mettere:
<a href="...pages/scheda_oggetti&pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']);?> > </a>
Scusate se magari mi sono espressa male. Questo mi servirebbe di sapere, come far rimanere valido il fatto che uno sta aprendo la scheda di uno specifico personaggio
17/04/2020 22:27:56
penso tu possa direttamente mettere questo
<a href="/pages/scheda_oggetti.inc.php?pg=<?php echo gdrcd_filter('in',$_REQUEST['pg']);?> > </a>
<?php echo gdrcd_filter('in',$_REQUEST['pg']);?> dovresti cambiarlo in base a come lo ottieni, a logica direi che tu sei in una pagina del tipo
main.php?page=scheda&pg=Nome
Quindi puoi usare direttamente $_GET['pg'] per prendere il nome del pg.
18/04/2020 19:05:05
Dunque...vediamo, ho provato a sistemare ma credo di aver sbagliato qualcosa
Attualmente, il codice funzionante per avere l'inventario in pop-up era strutturato così:
$query = "SELECT personaggio.*, razza.sing_m, razza.sing_f, razza.id_razza FROM personaggio LEFT JOIN razza ON personaggio.id_razza=razza.id_razza WHERE personaggio.nome = '".gdrcd_filter('in',$_REQUEST['pg'])."'";
$result = gdrcd_query($query, 'result');
<div>
<a href="javascript:modalWindow('inventario', 'Inventario', 'popup.php?page=scheda_oggetti&pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']); ?>', '450')">
Inventario
</a></div>
Ho provato a cambiare la seconda parte mettendola
<a href="/pages/scheda_oggetti.inc.php?pg=<?php echo gdrcd_filter('url',$_REQUEST['pg']); ?>">
Inventario
</a>
Mi segnala questa stringa di errore:
Fatal error: Call to undefined function gdrcd_filter() in /membri/dark/pages/scheda_oggetti.inc.php on line 27
dove la linea inicata sarebbe questa:
26. /*Verifico l'esistenza del PG*/
27. $query = "SELECT nome FROM personaggio WHERE personaggio.nome = '".gdrcd_filter('get',$_REQUEST['pg'])."'";
28. $result = gdrcd_query($query, 'result');
Scusatemi se non riesco a barcamenarmi e magari ho fatto un errore banale T_T
19/04/2020 00:37:34
vivi1400 ha scritto:
Fatal error: Call to undefined function gdrcd_filter() in /membri/dark/pages/scheda_oggetti.inc.php
Premetto che non ho mai usato GDRCD, ma in generale se il php ritorna un errore di "undefined function" vuol dire che stai cercando di usare una funzione (in questo caso gdrcd_filter) senza mai averla definita... questa funzione sarà tipicamente definita in un altro file, magari nel modificare la pagina hai inavvertitamente rimosso un require?
19/04/2020 23:01:36
come ti ha scritto quod hai scordato di includere il file required.php
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Exclusive Villa GdR ↗
Hero Wars ↗
World of Warship ↗
Neverness to Everness ↗
Raja Dunia ↗
Project Entropy ↗