J'ai la fonction addNew () qui crée une fiche dans un composant backend.
function addNew() {
$route= JRoute::_( 'index.php?option=com_pelatol&task=insertyo');
$html.='<form action="'.$route.'" method="GET" ><div><h3>Εισαγωγή Ακινήτων</h3>';
//$html.='<input type="hidden" name="option" value="com_pelatol" />';
//$html.='<input type="hidden" name="task" value="insertyo" />';
$html.='<br/><span>Περιοχή</span></br><input type="text" name="perioxi" />';
$html.='<br/><span>Εμβαδόν</span></br><input type="text" name="embado" />';
$html.='<br/><span>Υπνοδομάτια</span></br><input type="text" name="ipnodomatia" />';
$html.='<br/><span>Μπάνια</span></br><input type="text" name="mpania" />';
$html.='<br/><span>Έτος</span></br><select>';
$cYear=date("Y");
for ($i=1950;$i<=$cYear;$i++) {
$html.='<option value="'.$i.'">- '.$i.' -</option>';
}
$html.='</select>';
$html.='<br/><span>Θέρμανση</span></br><input type="text" name="thermansi" />';
$html.='<br/><span>Διαθέσιμο</span></br><input type="text" name="diathesimo" />';
$html.='<br/><span>Οδός</span></br><input type="text" name="odos" />';
$html.='<br/><span>Τιμή</span></br><input type="text" name="timi" />';
$html.='</div><input type="submit"/></form>';
echo $html;
}
function insertyo() {
$session =& JFactory::getSession();
var_dump($_GET);
//$session->get( 'perioxi' )
}
Lorsque je clique sur le bouton d'envoi, l'adresse URL à laquelle je reçois la redirection est la suivante: administrator/index.php? Perioxi = asdas & embado = asdasd & ipnodomatia = adasd & mpania = asdasdas & thermansi = asdasd & diathesimo = asdasd & odos = asdasd & timi = asd. Il ignore le ?option=com_pelatol&task=insertyo
déclaration de Jroute. J'utilise actuellement un "hack" pour obtenir le résultat souhaité:
//$html.='<input type="hidden" name="option" value="com_pelatol" />';
//$html.='<input type="hidden" name="task" value="insertyo" />';
Je suis sûr qu'il y a un autre moyen. Est-ce que je manque quelque chose?
Vous devriez changer method="GET"
à method="POST"
.