2010-11-14 5 views
0

Dans mon application CI, je le contrôleur suivant:CodeIgniter: slash

http://localhost/myapp/index.php/frontend/login/ 

Dans ce contrôleur (le contrôleur de connexion), j'ai une méthode appelée submit(). Le fichier de vue d'association pour ce contrôleur a un formulaire avec action='submit/'. L'idée est lorsque le formulaire soumet, il va à http://localhost/myapp/index.php/frontend/login/ - et il le fait aussi longtemps que l'URL a une barre oblique finale.

Cependant, si l'URL est comme ça (pas slash):

http://localhost/myapp/index.php/frontend/login 

et je soumets la forme, je suis redirigé vers ce qui suit à la place:

http://localhost/myapp/index.php/frontend/submit/ 

Il en résulte une 404 puisque je n'ai pas de contrôleur submit.

Répondre

0

Utilisez une URL absolue dans l'action

action="/myapp/index.php/frontend/submit/" 
+0

Y a-t-il un moyen de faire en sorte que helper ajoute un slash final? – SaidbakR

0

utilisez-vous l'aide de formulaire de CI?

//autoload/controller: 
$this->load->helper('form'); 
// in your view: 
<?php echo form_open('login/submit'); ?> 

et quand vous avez un "frontend" - comment cela est-il configuré - juste un dossier dans le répertoire du contrôleur?

l'URL ne devrait avoir aucun effet sur le résultat.

vous devrez peut-être

<?php echo form_open('frontend/login/submit'); ?>

mais je ne pense pas -à-dire

controllers/ 
    |-frontend 
     |-front_end_controller.php 
+0

1.) non, Je n'utilise pas l'assistant de formulaire CI, et 2.) "frontend" est juste un dossier dans le contrôleur di presbytère. Une idée de ce qui pourrait être faux? – StackOverflowNewbie