Hi,
Trying to use CI4, set the routes (Config\Routes.php) like this:
and have Auth Controller (Controllers\Auth.php):
when request URL to: http://10.55.6.34:8080/project/login/lang/en got this error:
Any sugestion?
Thank you
Trying to use CI4, set the routes (Config\Routes.php) like this:
PHP Code:
<?php
use CodeIgniter\Router\RouteCollection;
$appConfig = config('app');
$localeRegex = implode('|', $appConfig->supportedLocales);
// Custom placeholder
$routes->addPlaceHolder('locale', $localeRegex);
/**
* @var RouteCollection $routes
*/
$routes->get('/', 'Home::index', ['as' => 'home']);
$routes->get('/login/lang/{locale}', 'Auth::loginLocale', ['as' => 'login_locale']);
$routes->match(['get', 'post'], '/login', 'Auth::login', ['as' => 'login']);
$routes->get('/logout', 'Auth::logout', ['as' => 'logout']);
PHP Code:
<?php
namespace App\Controllers;
use App\Models\UserModel;
class Auth extends BaseController
{
public function loginLocale(string $locale)
{
$this->session->set('lang', $locale);
return redirect()->route('login');
}
public function login()
{
// Redirect user to home page if already login
if ($this->session->has('username')) {
return redirect()->route('home');
}
$data['title'] = lang('App.welcome');
if ($this->request->getMethod() === 'POST') {
$rules = [
'username' => 'required',
'password' => 'required',
];
$input = $this->request->getPost(array_keys($rules));
dd($input);
}
$data['page'] = view('auth/login', $data);
return view('templates/blank', $data);
}
public function logout()
{
$this->session->destroy();
return redirect()->route('login');
}
}
when request URL to: http://10.55.6.34:8080/project/login/lang/en got this error:
Code:
ArgumentCountError
Too few arguments to function App\Controllers\Auth::loginLocale(), 0 passed in /home/username/workspaces/php/project/system/CodeIgniter.php on line 933 and exactly 1 expectedAny sugestion?
Thank you