Код, который вы указали, выглядит нормально, так что я думаю, это связано с:
<form name="loginform" action="welcome/login" method="post">
Путь относительный, который будет работать только в том случае, если отсутствуют сегменты URL. Если текущий URL-адрес /hello/world
, вы в конечном итоге отправите на /hello/world/welcome/login
Попробуйте полный URL или абсолютный путь. Пример:
<form name="loginform" action="/welcome/login" method="post">
<!-- ^^^ Note the leading forward slash -->
Или используйте base_url()
для полного URL:
<form action="<?php echo base_url(); ?>welcome/login">
Вас также может заинтересовать функция form_open()
, которая сделает это автоматически.
<?php echo form_open('welcome/login'); ?>
Единственное, что я вижу, связано с тем, что $this->login->login();
делает. Если вы сможете подтвердить свой URL-адрес при появлении ошибки «страница не найдена», это очень поможет.