php passaggio parametro link con variabile
Moderator: magallo
php passaggio parametro link con variabile
Ciao a tutti,
sto riscontrando un problema enorme con l'inserimento di un parametro in un link all'interno di codice php. La classica sintassi purtroppo non funziona correttamente, e al posto di restituirmi il valore della variabile mi viene restituito il nome della variabile stessa sotto forma di stringa. Premetto che sono un novellino con il cms... Di seguito riporto il codice che ho inserito:
{php}
include 'connessioneDB.php';
$ris = mysql_db_query('gabriele','SELECT * FROM cms_module_news');
echo 'Titolo NewsDettaglioData riascio';
while($row = mysql_fetch_array($ris)) {
$var_id = $row['news_id'];
$var_title = $row['news_title'];
$var_data = $row['news_data'];
$var_date = $row['news_date'];
echo ''.$var_title.''.$var_data.''.$var_date.'';
}
echo '';
{/php}
il problema è che $var_id non passa come valore. Qualcuno ha una soluzione?
Grazie in anticipo.
Gabry
sto riscontrando un problema enorme con l'inserimento di un parametro in un link all'interno di codice php. La classica sintassi purtroppo non funziona correttamente, e al posto di restituirmi il valore della variabile mi viene restituito il nome della variabile stessa sotto forma di stringa. Premetto che sono un novellino con il cms... Di seguito riporto il codice che ho inserito:
{php}
include 'connessioneDB.php';
$ris = mysql_db_query('gabriele','SELECT * FROM cms_module_news');
echo 'Titolo NewsDettaglioData riascio';
while($row = mysql_fetch_array($ris)) {
$var_id = $row['news_id'];
$var_title = $row['news_title'];
$var_data = $row['news_data'];
$var_date = $row['news_date'];
echo ''.$var_title.''.$var_data.''.$var_date.'';
}
echo '';
{/php}
il problema è che $var_id non passa come valore. Qualcuno ha una soluzione?
Grazie in anticipo.
Gabry
Re: php passaggio parametro link con variabile
Ciao Gabry,gabryels wrote: Ciao a tutti,
sto riscontrando un problema enorme con l'inserimento di un parametro in un link all'interno di codice php. La classica sintassi purtroppo non funziona correttamente, e al posto di restituirmi il valore della variabile mi viene restituito il nome della variabile stessa sotto forma di stringa. Premetto che sono un novellino con il cms... Di seguito riporto il codice che ho inserito:
...
innanzitutto vorrei sapere se hai un motivo specifico nell'usare codice PHP autoprodotto per visualizzare le news.
Potresti semplicemente personalizzare il template delle news per ottenere il risultato voluto senza andare a complicarti la vita e aprire possibili falle nel sistema.
In secondo luogo, usa (nel limite del possibile) gli UDT e non abusare dei tag {php}{/php} quando non richiesto. Usando un UDT avresti già l'accesso al database già pronto. Ad esempio
UDT {exec_personal_query}
Code: Select all
global $gCms;
$db =& $gCms->GetDb();
$query = 'SELECT * FROM tua_tabella';
$r= &$db->Execute($query);
while ($r && !$r->EOF) {
....
}
A presto
ciao
blast
Re: php passaggio parametro link con variabile
Ciao Blast,
innanzitutto ti ringrazio per la tua pronta risposta!!
In seconda battuta, come già detto sono un novellino con il cms... In che modo posso personalizzare il template delle news per eseguire le modifiche sulle notizie direttamente da frontend?! L'utilizzo degli UDT mi sembra invece abbastanza chiaro, ma preferirei provare prima con il template.
Non vorrei abusare della tua pazienza e gentilezza e scusa la mia ignoranza... ti ringrazio di nuovo per la risposta.
Gabry
innanzitutto ti ringrazio per la tua pronta risposta!!

In seconda battuta, come già detto sono un novellino con il cms... In che modo posso personalizzare il template delle news per eseguire le modifiche sulle notizie direttamente da frontend?! L'utilizzo degli UDT mi sembra invece abbastanza chiaro, ma preferirei provare prima con il template.
Non vorrei abusare della tua pazienza e gentilezza e scusa la mia ignoranza... ti ringrazio di nuovo per la risposta.
Gabry
Re: php passaggio parametro link con variabile
Io sapevo che dal frontend è possibile solamente inserire nuove news in una determinata categoria. Non è prevista al momento la possibilità di effettuare modifiche ai post.gabryels wrote: innanzitutto ti ringrazio per la tua pronta risposta!!
In seconda battuta, come già detto sono un novellino con il cms... In che modo posso personalizzare il template delle news per eseguire le modifiche sulle notizie direttamente da frontend?! L'utilizzo degli UDT mi sembra invece abbastanza chiaro, ma preferirei provare prima con il template.
Quindi presumo che direttamente con i template non si possa fare nulla.
Mi sa' che bisognerà procedere con un UDT personalizzato, utilizzando anche i moduli FEU e CC.
Ma da qui a dire che è una operazione immediatamente realizzabile ce ne passa...
...c'e' sempre qualcosa di imparare...gabryels wrote: ...scusa la mia ignoranza...
Re: php passaggio parametro link con variabile
ok,
grazie tante per il supporto. Proverò a fare come mi hai suggerito.
Ciaooo
grazie tante per il supporto. Proverò a fare come mi hai suggerito.
Ciaooo
Re: php passaggio parametro link con variabile
Ciao Blast,
purtroppo non sono riuscito a trovare un via d'uscita...
Non sono riuscito a capire come e dove inserire l'UDT per estrapolare le informazione dal DB...
purtroppo non sono riuscito a trovare un via d'uscita...
Non sono riuscito a capire come e dove inserire l'UDT per estrapolare le informazione dal DB...
Re: php passaggio parametro link con variabile
Allora, andiamo con ordine.gabryels wrote: Ciao Blast,
purtroppo non sono riuscito a trovare un via d'uscita...
Non sono riuscito a capire come e dove inserire l'UDT per estrapolare le informazione dal DB...
Innanzitutto crea l'UDT dentro al menu' admin sotto Estensioni->Tag definiti dall'utente
Crea un nuovo UDT dagli il nome che vuoi e salva (ad esempio chiamalo db_retrive)
Per richiamarlo crea una pagina a tua scelta e richiama il tuo UDT semplicemente con il suo nome
{db_retrive}.
Per passare i dati ad un'altra pagina puoi memorizzare i risultati nelle variabili di smarty.
Ciao e a presto
blast
Re: php passaggio parametro link con variabile
Ciao Blast,
sto prendendo mano con gli UDT, solo che il codice che mi hai postato per la connessione al Db non mi funziona. Sono stressante lo so... quello che vorrei realizzare è una pagina di visualizzazone delle news presente nel cms con la possibilità di avere un link per modificare ogni singola news. La soluzione che mi è venuta in mente è l'utilizzo di una tabella dove ogni riga presenta il titolo di ogni news e il relativo link per modificarla. Il problema non è in fase di visualizzazione, ma nella fase di passaggio dell'id nel tag .Se riuscissi a collegarmi al Db con la sintassi che mi hai scritto tu, come riesco poi ad utilizzare il parametro per andare a prelevare le informazioni che mi servono? Se riuscissi a farmi un esempio te ne sarei grato...
Grazie ancora per la tua gentilezza.
Gabriele
sto prendendo mano con gli UDT, solo che il codice che mi hai postato per la connessione al Db non mi funziona. Sono stressante lo so... quello che vorrei realizzare è una pagina di visualizzazone delle news presente nel cms con la possibilità di avere un link per modificare ogni singola news. La soluzione che mi è venuta in mente è l'utilizzo di una tabella dove ogni riga presenta il titolo di ogni news e il relativo link per modificarla. Il problema non è in fase di visualizzazione, ma nella fase di passaggio dell'id nel tag .Se riuscissi a collegarmi al Db con la sintassi che mi hai scritto tu, come riesco poi ad utilizzare il parametro per andare a prelevare le informazioni che mi servono? Se riuscissi a farmi un esempio te ne sarei grato...
Grazie ancora per la tua gentilezza.
Gabriele
Re: php passaggio parametro link con variabile
In che senso non funziona?gabryels wrote: sto prendendo mano con gli UDT, solo che il codice che mi hai postato per la connessione al Db non mi funziona. Sono stressante lo so...
Ovviamente era una bozza di codice. Solo con quelle istruzioni non ci fai niente.
Eccoi un esempio di UDT che permette di effettuare una query sul db.
Code: Select all
global $gCms;
$db =& $gCms->GetDb();
$query = 'SELECT * from MYTABLE';
$r= &$db->Execute($query);
$results = array();
$i=0;
while ($r && !$r->EOF)
{
$tmp = array('campo1' =>$r->fields['campo1'], 'campo2'=>$r->fields['campo2'], 'campo3'=>$r->fields['campo3']' );
$results[$i++] = $tmp;
$r->MoveNext();
}
$smarty->assign('results', $results);
}
Code: Select all
{section name=elenco loop=$results}
{$results[elenco].campo1} {$results[elenco].campo2} {$results[elenco].campo3}
{/section}
Spero di non aver fatto errori di sintassi.
Ciao
blast
Re: php passaggio parametro link con variabile
Grazie Blast,
mi hai risolto il problema
Gabriele
mi hai risolto il problema

Gabriele
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: php passaggio parametro link con variabile
da apprendista stregone ho provato a scopiazzare i suggerimenti di Blast per interagire con 4 tabelle che ho creato ex-novo nel DB per raccogliere i dati relativi a dei convegni... lo scopo era creare un mio UDT che restituisse i risultati di query su quelle tabelle...
ho creato... o meglio, tentato di creare... questo UDT:
...solo che CMSMS... mi ha sputato in un occhio... qualche anima buona sa spiegarmi il perché?
grazie
ho creato... o meglio, tentato di creare... questo UDT:
Code: Select all
$symposium_year = $params['symposium_year'];
global $gCms;
$db =& $gCms->GetDb();
$query = 'SELECT dbsymp_symposium.year, dbsymp_symposium.date, dbsymp_symposium.venue, dbsymp_symposium.nation, dbsymp_symposium.title_symposium FROM dbsymp_symposium WHERE dbsymp_symposium.year='.$symposium_year;
$r= & $db->Execute($query);
$results = array();
$i=0;
while ($r && !$r->EOF) {
$tmp = array('year'=>$r->fields['year'], 'date'=>$r->fields['date'], 'venue'=>$r->fields['venue'], 'nation'=>$r->fields['nation'], 'title_symposium'=>$r->fields['title_symposium']' );
$results[$i++] = $tmp;
$r->MoveNext();
};
$smarty->assign('results', $results);
grazie
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)
Re: php passaggio parametro link con variabile
Posta l'errore restituito da CMS (debug) o dal log di apache (error.log) che controlliamo...protempore wrote: ...solo che CMSMS... mi ha sputato in un occhio... qualche anima buona sa spiegarmi il perché?
ciao
blast
P.S. la tua tabella dbsymp_symposium è dentro al db di CMSMS? Si chiama quindi cms_dbsymp_symposium o qualcosa del genere?
Last edited by blast2007 on Fri Jul 25, 2008 10:26 pm, edited 1 time in total.
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: php passaggio parametro link con variabile
aia... non ha il prefisso "cms_"... devo metterglielo?blast2007 wrote:Posta l'errore restituito da CMS (debug) o dal log di apache (error.log) che controlliamo...protempore wrote: ...solo che CMSMS... mi ha sputato in un occhio... qualche anima buona sa spiegarmi il perché?
ciao
blast
P.S. la tua tabella dbsymp_symposium è dentro al db di CMSMS? Si chiama quindi cms_dbsymp_symposium o qualcosa del genere?
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: php passaggio parametro link con variabile
ho rinominato le tabelle con il prefisso "cms_"... non è cambiata la situazione, però....
questo il codice UDT inserito:
questo il messaggio di errore restituito:
l'errore sembrerebbe in questa parte di codice, perché se tolgo questa parte e solo questa parte... mi passa la registrazione dell'UDT:
questo il codice UDT inserito:
Code: Select all
$symposium_year = $params['symposium_year'];
global $gCms;
$db =& $gCms->GetDb();
$query = 'SELECT cms_dbsymp_symposium.year, cms_dbsymp_symposium.date, cms_dbsymp_symposium.venue, cms_dbsymp_symposium.nation, cms_dbsymp_symposium.title_symposium FROM cms_dbsymp_symposium WHERE cms_dbsymp_symposium.year='.$symposium_year;
$r =& $db->Execute($query);
$results = array();
$i=0;
while ($r && !$r->EOF) {
$tmp = array('year'=>$r->fields['year'], 'date'=>$r->fields['date'], 'venue'=>$r->fields['venue'], 'nation'=>$r->fields['nation'], 'title_symposium'=>$r->fields['title_symposium']');
$results[$i++] = $tmp;
$r->MoveNext();
}
$smarty->assign('results', $results);
Code: Select all
Codice inserito non valido.
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /home/admin/domains/e-serv.it/public_html/udms/cms/admin/edituserplugin.php(102) : eval()'d code on line 16
Code: Select all
$tmp = array('year'=>$r->fields['year'], 'date'=>$r->fields['date'], 'venue'=>$r->fields['venue'], 'nation'=>$r->fields['nation'], 'title_symposium'=>$r->fields['title_symposium']');
$results[$i++] = $tmp;
$r->MoveNext();
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: php passaggio parametro link con variabile
porca paletta...
c'era un "apicino" del cavolo di troppo...
....elds['title_symposium']');

adesso funzia...
c'era un "apicino" del cavolo di troppo...
....elds['title_symposium']');


adesso funzia...
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)