Perchè usando il metodo GET è necessrio esplicitare sia i dati del form che i parametri utili a determinare il percorso di elaborazione del form in Yii.
Anche in questo caso, facciamo un passo indietro con la spiegazione.
Sia nel metodo POST che nel metodo GET hai la necessità di indicare l’URL dello script che elaborerà la richiesta e gli eventuali PARAMETRI da sottoscrivere.
Ora, il metodo GET ed il metodo POST gestiscono l’URL ed i PARAMETRI in maniera differente.
Col metodo POST funziona, col metodo GET no. Perchè?
Nel metodo POST tutto ciò che è stato specificato nell’attributo ACTION del FORM è considerato come l’URL. Nel metodo GET no: l’URL finisce a
/blog/index.php
Nel metodo GET tutto ciò che segue il punto interrogativo corrisponde alla lista dei parametri da inviare allo script. Quei parametri però vencono "costruiti" dal browser alla sottoscrizione del form e accodati allo script blog/index.php?.. (Il metodo GET funziona proprio così)
A Yii però servono i parametri che definiscono il controllore e l’azione, ecco perchè nel metodo GET bisogna “fissarli” con gli elementi nascosti del form. Così quando il browser “assemblerà” l’url da richiamare userà i parametri nascosti (oltre al resto del form).
In effetti, nella generazione automatica dei form in modalità GET, è totalmente inutile aggiungere i parametri che definiscono il percorso Yii all’interno di ACTION. Non capisco perchè non l’hanno rimossa come cosa.
Quello che non mi sembra corretto, è proprio il fatto che se sono in post ho le stesse variabili in campi hidden ed anche nel get. Io non ho detto di volerle sia nel get che nel post. Mi sembra scorretto che ci siano dei doppioni. Non trovi?