web-dev-qa-db-fra.com

La forme dans un composant principal me redirige vers la page d'index

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?

1
IseNgaRt

Vous devriez changer method="GET" à method="POST".

Attribut de méthode HTML

1
Dmitry Rekun