xbonez xbonez - 1 year ago 84
PHP Question

Controller repeating in URL in CodeIgniter

I have a Controller called

that looks like this:

class Register extends CI_Controller
public function index()

public function create()
//set rules here

if ($this->form_validation->run() == TRUE)
//everything checks out

The view contains a form that posts to

My problem is, when I go to
and fill out the form incorrectly, the form reloads, but the url is now:


If I enter it incorrectly again


and so on...

I'm guess this is an
and I've tried using some standard CodeIgniter htaccess files available online, but none fix this issue. I'm using this on a WAMP server.


The view file only consists of the form, for now. I prefer using direct HTML instead of the CodeIgniter Form helper.

<form id="register_form" method="post" action="register/create" title="Create an Account">
<!-- input fields -->

Answer Source

Use full url. Either current_url() or site_url('register') in your form's action.

It's good practice you use either of these or preffix with base_url() since that allows your site to run without having to be the domain path.
For instance you can, if needed run the site on example.com/my_site/ instead of only being able to run on example.com.

For fullest possible control of your form's action, always start on http:// and avoid relative urls (action="register" for instance).