Back to top

Autore Topic: [RISOLTO] problema con JRequest::getVar e query  (Letto 2749 volte)

Offline barra

  • Esploratore
  • **
  • Post: 86
    • Mostra profilo
[RISOLTO] problema con JRequest::getVar e query
« il: 18 Mag 2010, 21:16:15 »
Vediamo se riesco a spiegarmi, sono abbastanza ignuuuurante in materia di MVC e del framework joomla ma sono a buon punto nella realizzazione di un componente (che dovrebbe essere 100% standard joomla).

Ho però un problema di questo tipo:
Ho una tabella dove sono visualizzate una serie di informazioni pescate da un DB. a un certo punto in questa tabella troviamo:

Codice: [Seleziona]
<td>
<a href=<? echo $link2 ?>><?php echo $row->importo_disponibile?></a>
</td>

dove

Codice: [Seleziona]
$link2 = JRoute::_( 'index.php?option=com_modulo&view=quote&id_variabile='. $row->id );
praticamente viene riportato un valore e se lo clicco visualizza la view "quote". all'interno della stessa sono visualizzate altre informazioni che prese da una tabella. Il problema è che ho la necessità di filtrare queste informazioni sulla base del valore id_variabile.

Al momento ho un models con nome "quote.php" che tra le altre cose contiene:

Codice: [Seleziona]
function _buildQuery() {
$query = " SELECT *  FROM #__modulo_quote WHERE id = 1";
return $query;
}

Il numero 1 è stato messo per fare delle prove e funziona.

Nel /views/quote/tmpl/default.php ho messo

Codice: [Seleziona]
$id_variabile = JRequest::getVar('id_variabile');
Questo prende il valore ma se lo metto qui

Codice: [Seleziona]
function _buildQuery() {
$query = " SELECT *  FROM #__modulo_quote WHERE id = $id_variabile";
return $query;
}

non funziona. Ho fatto un pò di prove ma non ho ottenuto nulla! Idee su come sistemare?
« Ultima modifica: 19 Mag 2010, 10:16:43 da barra »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:problema con JRequest::getVar e query
« Risposta #1 il: 18 Mag 2010, 21:44:13 »
scusa, ma come fa una variabile definita all'interno di un metodo di una classe in un file ad essere visibile all'interno di un altro metodo di un'altra classe di un altro file???

devi passarlo al model. recupera l'istanza e assegnale il valore (crea una proprietà od un metodo nel model) prima di richiamare altri metodi.

ps: sai con quel codice io ti buco il sito in 15 secondi?
 >:( fai attenzione stai passando al sql server ciò che prendi dalla query string senza nessun filtro!!!

ciao,
marco


mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline barra

  • Esploratore
  • **
  • Post: 86
    • Mostra profilo
Re:problema con JRequest::getVar e query
« Risposta #2 il: 19 Mag 2010, 08:10:43 »
Guarda ho preso questo: http://cms.html.it/articoli/leggi/3345/joomla-sviluppare-un-componente/

L'ho letto, installato, e modificato per ottenere quello che mi serve.
Non sono un programmatore, mi capita ogni tanto di dover mettere mano a joomla per realizzare piccoli siti. Questo è il primo approccio a qualcosa di questo tipo e (come anticipato) non conosco molto dello sviluppo MVC (e anche di php a dire il vero, leggo abbastanza il codice da capirlo ma scriverlo è una cosa ben diversa).

CMQ provo a fare quanto mi dici!

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:problema con JRequest::getVar e query
« Risposta #3 il: 19 Mag 2010, 09:22:58 »
allora due cose:

1:
perché il valore di id_variabile non lo leggi direttamente nel model? mi pare più semplice.

2:
se ti aspetti un intero usa JRequest::getInt('id_variabile'), se ti aspetti una view od un controller usa JRequest::getWord('nomeoggetto');

non considerare mai l'input che arriva dal web come fidato (trusted)!!!

buon lavoro ed in bocca al lupo  ;)

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline barra

  • Esploratore
  • **
  • Post: 86
    • Mostra profilo
Re:problema con JRequest::getVar e query
« Risposta #4 il: 19 Mag 2010, 10:05:25 »
$id_variabile = JRequest::getVar('id_variabile');
l'ho sostituito con
$id_variabile = JRequest::getInt('id_variabile');

ed è finito in

function _buildQuery() {


Magicamente funziona, chissa come mai  :-X
Scusami ma sto imparando!

 



Web Design Bolzano Kreatif