[RISOLTO][GDRCD 5.4.1]Descrizione dei luoghi in pop up - tasto in chat
[RISOLTO][GDRCD 5.4.1]Descrizione dei luoghi in pop up - tasto in chat postato il 24/07/2016 20:30:30 nel forum programmazione, open source e hosting e modificato da wind84 il 25/07/2016 15:12:20
Dunque...
Per cercare di creare delle finestre pop up che riportino le descrizioni dei luoghi, ho replicato la funzione del tasto salva-chat nel frame_chat.inc.php:
<a href="javascript:void(0);" onClick="window.open('chat_descr.php','Log','width=500,height=500,toolbar=no');">
[Descrizione Luogo]
</a>
Il tasto di per sé funziona ed apre un pop up che riporta alla pagina da me creata. Questa dovrebbe contenere una semplice funzione per stampare la descrizione delle chat inserite dal pannello gestione.
L'ho scritta così:
<?php
echo gdrcd_filter('out',$record['descrizione']); ?><?php echo gdrcd_filter('out',$record['descrizione']);
exit;
?>
Ma qualcosa non va e mi riporta al seguente messaggio di errore:
Fatal error: Call to undefined function gdrcd_filter() in /membri/nomedominio/chat_descr.php on line 2
Evidentemente la pagina php non è scritta correttamente, ma come molti di voi sapranno sto imparando da autodidatta piano piano, facendo un sacco di errori, e crescendo grazie a voi.
Qualcuno sa come devo inserire correttamente la funzione per fargli raccattare le descrizioni dei luoghi?
Grazie mille per la vostra attenzione!
Pagine → 1
24/07/2016 20:40:23
Presumendo che tu abbia fatto la query per richiamare i dati dal DB, non ho capito perchè hai fatto l'echo due volte. Quell'exit alla fine, poi, mi perplime.
Prova così:
<?php echo gdrcd_filter('out',$record['descrizione']); ?>
24/07/2016 20:46:01 e modificato da wind84 il 24/07/2016 20:52:16
maclay ha scritto: Presumendo che tu abbia fatto la query per richiamare i dati dal DB, non ho capito perchè hai fatto l'echo due volte. Quell'exit alla fine, poi, mi perplime.
Prova così:
<?php echo gdrcd_filter('out',$record['descrizione']); ?>
Ehm, temo di no.
Non conosco le basi, quindi vado ad intuito incollando le stringhe di codice del GDRCD che mi sembrano fare al caso mio per apportare le modifiche del caso :) Imparo con la pratica, sopratutto grazie alla community ^^
EDIT: Anche così mi da lo stesso errore, credo che il problema sia proprio qualche processo che ho 'mancato'!
Potresti spiegarmi come fare la query?
Grazie mille!!
25/07/2016 02:06:14 e modificato da maclay il 25/07/2016 02:06:45
Dunque, la query è basilare nel PHP. In poche parole, è la stringa di codice che ti consente di richiamare dal database i dati che ti servono per poi, per esempio, "stamparli" in una pagina tramite l'echo - facendo cioè quello che vuoi fare tu.
In questo caso, a te serve richiamare i dati del luogo dalla tabella mappa.
Quindi:
<?php
$result = gdrcd_query("SELECT mappa.nome, mappa.descrizione, mappa.stato, mappa.immagine, mappa.stanza_apparente, mappa.scadenza, mappa_click.meteo FROM mappa_click LEFT JOIN mappa ON mappa_click.id_click = mappa.id_mappa WHERE id = ".$_SESSION['luogo']."", 'result');
$record_exists = gdrcd_query($result, 'num_rows');
$record = gdrcd_query($result, 'fetch');
if (empty($record['nome']))
{
$nome_mappa = gdrcd_query("SELECT nome FROM mappa_click WHERE id_click = ". (int)$_SESSION['mappa']);
$nome_luogo = $nome_mappa['nome'];
}else
{
$nome_luogo = $record['nome'];
}
?>
La seconda parte del codice - da "if" a all'ultima } - è un fix del buon caro vecchio blancks per far sì che se l'utente si trova in mappa, venga visualizzato il nome della mappa mentre se si trova in chat venga visualizzato il nome della chat.
Una volta inserito questo, puoi procedere a far stampare quanto ti serve, usando l'echo.
Ti posto l'esempio di una struttura molto basilare contenente nome, immagine e descrizione.
<div class="info_chat">
<h2><?php echo gdrcd_filter('out', $nome_luogo); ?></h2>
<div class="descrizione_chat">
<?php
if($record_exists>0 || $_SESSION['luogo']==-1){
gdrcd_query($result, 'free');
?>
<!--Nome luogo-->
<?php
if (empty($record['nome'])===FALSE) { $nome_luogo=$record['nome']; }
elseif ($_SESSION['mappa']>=0) { $nome_luogo=$PARAMETERS['names']['maps_location']; }
else { $nome_luogo=$PARAMETERS['names']['base_location']; }
?>
<!--Immagine/descrizione -->
<div class="info_image">
<?php
if (empty($record['immagine'])===FALSE) { $immagine_luogo=$record['immagine']; }
else { $immagine_luogo='standard_luogo.png'; }
?>
<img src="themes/<?php echo gdrcd_filter('out',$PARAMETERS['themes']['current_theme']);?>/imgs/locations/<?php echo $immagine_luogo?>" class="immagine_luogo" alt="<?php echo gdrcd_filter('out',$record['descrizione']); ?>" title="<?php echo gdrcd_filter('out',$record['descrizione']); ?>" >
</div>
</div>
Comunque, se guardi nel file info_location.inc.php, vedrai che li trovi il codice già pronto - ed infatti, non credo sia molto diverso da quello che ti ho postato io adesso.
25/07/2016 14:20:45
Innanzitutto a prescindere dai miei risultati, grazie mille per il tuo aiuto, è davvero prezioso e sto imparando molto :]
Purtroppo però ancora non ci sono riuscito... vediamo un pò.
Tutto quello che mi hai passato, nello stesso ordine, l'ho messo nella pagina php da me creata - ho fatto bene..?
Inizio a pensare che non vada là >_>
Comunque ho sostituito con attenzione tutti gli apici, ma il risultato è il seguente messaggio di errore
Parse error: syntax error, unexpected $end in /membri/nomedominio/nomepagina.php on line 63
La linea corrisponde ai </div> di chiusura .__.
Ho provato per sfizio a toglierne, uno, due.. ma il risultato non cambia, solo il numero di riga in cui trova l'errore.
Provando poi a non inserire l'intero pezzo del tuo secondo quote, ma SOLO il primo, seguito dal comando semplice per stampare solo la descrizione (per essere chiari... così:)
<?php
$result = gdrcd_query("SELECT mappa.nome, mappa.descrizione, mappa.stato, mappa.immagine, mappa.stanza_apparente, mappa.scadenza, mappa_click.meteo FROM mappa_click LEFT JOIN mappa ON mappa_click.id_click = mappa.id_mappa WHERE id = ".$_SESSION['luogo']."", 'result');
$record_exists = gdrcd_query($result, 'num_rows');
$record = gdrcd_query($result, 'fetch');
if (empty($record['nome']))
{
$nome_mappa = gdrcd_query("SELECT nome FROM mappa_click WHERE id_click = ". (int)$_SESSION['mappa']);
$nome_luogo = $nome_mappa['nome'];
}else
{
$nome_luogo = $record['nome'];
}
?>
<?php echo gdrcd_filter('out',$record['descrizione']); ?>
Torna il vecchio messaggio di errore:
Fatal error: Call to undefined function gdrcd_query() in /membri/nomedominio/nomepagina.php on line 3
Sigh T___T
Che cosa sbaglio..? Considera che quello che ti ho incollato (sia la prima, sia la seconda 'versione') è TUTTO quello che ho messo nella pagina creata da me... non vorrei aver saltato qualche altra cosa basilare di cui ignoro l'esistenza... oppure, il codice magari non va inserito là?
25/07/2016 14:43:46 e modificato da blancks il 25/07/2016 14:47:15
wind84 ha scritto:
[quote]Parse error: syntax error, unexpected $end in /membri/nomedominio/nomepagina.php on line 63
Quell'errore tende a verificarsi quando c'è un blocco la cui parentesi non viene mai chiusa.
Ad una rapida occhiata direi che è questo:
if($record_exists>0 || $_SESSION['luogo']==-1){
E dovresti provare a chiudere la parentesi graffa subito prima dell'ultimo </div>
Per quanto riguarda invece
wind84 ha scritto:
[quote]Fatal error: Call to undefined function gdrcd_query() in /membri/nomedominio/nomepagina.php on line 3
Sigh T___T
Che cosa sbaglio..?[/quote]
Credo tu stia provando ad aprire la pagina direttamente.
Dovresti spostarla nella cartella pages, chiamarla nomepagina.inc.php e successivamente aprirla dalla seguente url:
/popup.php?page=nomepagina
Questo perché altrimenti non viene caricato il core di gdrcd all'interno del file e di conseguenza tutte le funzioni implementate dal cms non sono disponibili (come indica infatti il messaggio d'errore in cui php ti comunica di non sapere che cosa sia gdrcd_query)
25/07/2016 15:05:02 e modificato da wind84 il 25/07/2016 15:11:34
blancks ha scritto: [quote]wind84 ha scritto:
[quote]Parse error: syntax error, unexpected $end in /membri/nomedominio/nomepagina.php on line 63
Quell'errore tende a verificarsi quando c'è un blocco la cui parentesi non viene mai chiusa.
Ad una rapida occhiata direi che è questo:
if($record_exists>0 || $_SESSION['luogo']==-1){
E dovresti provare a chiudere la parentesi graffa subito prima dell'ultimo </div>
Per quanto riguarda invece
wind84 ha scritto:
[quote]Fatal error: Call to undefined function gdrcd_query() in /membri/nomedominio/nomepagina.php on line 3
Sigh T___T
Che cosa sbaglio..?[/quote]
Credo tu stia provando ad aprire la pagina direttamente.
Dovresti spostarla nella cartella pages, chiamarla nomepagina.inc.php e successivamente aprirla dalla seguente url:
/popup.php?page=nomepagina
Questo perché altrimenti non viene caricato il core di gdrcd all'interno del file e di conseguenza tutte le funzioni implementate dal cms non sono disponibili (come indica infatti il messaggio d'errore in cui php ti comunica di non sapere che cosa sia gdrcd_query)[/quote]
EUREKA!
Grazie mille!! Davvero! *___*
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!
Cafuné ↗
Tiles Survive ↗
Hero Wars ↗
Imperion ↗
Seconda Era ↗
Crossout ↗
New Orleans ↗