J'essaie d'utiliser l'URL dans l'action de formulaire sans utiliser l'aide de formulaire dans codeigniter mais cela ne fonctionne pas.

<form method="post"  action="<?php echo base_url().'test'; ?>">
<form method="post"  action="/main_controller/test">

Fonction de contrôleur

public function test(){
    echo "test function";
}

L'erreur que je reçois

http://prntscr.com/eyzhdd

3
mohsin 21 avril 2017 à 07:56

3 réponses

Meilleure réponse

Ça devrait être

<form method="post"  action="<?php echo base_url()?>index.php/main_controller/test">

Aussi base_url() doit se définir comme (application/config/config.php)

https://stackoverflow.com/
                        ^ on the end

$config['base_url'] = 'https://stackoverflow.com/'; # Line 26 if version 3.0+

<?php echo base_url()?>index.php/main_controller/test
              ^            ^           ^           ^
           base URL      index Controller Name   Method name

Consultez la documentation Codeigniter.

3
Panda 18 sept. 2017 à 15:11

Pour utiliser base_url(), vous devez d'abord charger l'URL Helper. Cela peut être fait soit dans application/config/autoload.php (autour de la ligne 67):

$autoload['helper'] = array('url');

Ou, manuellement dans le contrôleur:

$this->load->helper('url');

Puis changez

<form method="post"  action="<?php echo base_url().'test'; ?>">  

À

<form method="post"  action="<?php echo base_url()?>index.php/main_controller/test">

Enfin, ajoutez l'URL de base dans application / config / config.php. Par exemple,

$config['base_url'] = 'http://example.com/';

Par défaut, le fichier index.php sera inclus dans vos URL: vous pouvez supprimer index.php de l'url d'action avec .htaccess file. Veuillez lire documentation

0
Bhupat Bheda 21 avril 2017 à 06:38
<form method="post"  action="<?php echo base_url().'/main_controller/test/'; ?>">

Utilisez comme ceci et définissez l'URL de base dans http://www.example.com/ config.php

1
Rajat Gupta 21 avril 2017 à 05:02