我只是想知道StudProfile使用該UpStudProf功能后如何重定向到。運行UpStudProf函式后,URL變成了http://localhost/csms/public/index.php/Home/StudProfile,但應該是http://localhost/Home/StudProfile,是否可以洗掉HomeURL上的Controllers名稱?
public function StudProfile(){
$crudModel = new Mod_Stud();
$data = [];
$data['user_data'] = $crudModel->orderBy('s_id', 'ASC')->findAll();
$data['title'] = 'SMS | STUDENT PROFILE';
$data['heading'] = 'Welcome to SMS';
$data['main_content'] = 'stud-prof'; // page name
return view('innerpages/template', $data);
}
public function UpStudProf(){
$crudModel = new Mod_Stud();
$s_id = $this->request->getPost('s_id');
$data = array(
's_lrn' => $this->request->getPost('s_lrn'),
's_fname' => $this->request->getPost('s_fname'),
's_mname' => $this->request->getPost('s_mname'),
's_lname' => $this->request->getPost('s_lname'),
);
$crudModel->upStud($data, $s_id);
return redirect()->to('Home/StudProfile'); //return to StudProfile
}
路由.php
$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('Home');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(false);
$routes->set404Override();
$routes->setAutoRoute(true);
uj5u.com熱心網友回復:
...是否可以洗掉
HomeURL 上的控制器名稱?
僅使用定義的路由
當沒有找到與 URI 匹配的已定義路由時,系統將嘗試將該 URI 與上述控制器和方法進行匹配。您可以禁用此自動匹配,并將路由限制為僅由您定義的路由,方法是將
setAutoRoute()選項設定為false:
$routes->setAutoRoute(false);
其次,禁用自動匹配后,宣告你的自定義路由: app/Config/Routes.php
$routes->get('student-profiles', 'Home::StudProfile');
最后:\App\Controllers\Home::UpStudProf,
重定向(字串$路由)
引數: $route (string) – 將用戶重定向到的反向路由或命名路由。
代替:
// ...
return redirect()->to('Home/StudProfile'); //return to StudProfile ?
// ...
用這個:
// ...
return redirect()->to('/student-profiles'); ?
// ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/445967.html
