我有一个登录脚本,当登录成功时,我希望它将它们重定向到主页(welcome_message.php)由于某种原因它没有将我链接到这个文件,而是抛出404并说{{ 1}}
我正在使用CodeIgniters redirect()函数进行更改。
"The requested URL "http://localhost/musiclear/index.php/views/welcome_message" cannot be found or is not available. Please check the spelling or try again later."
答案 0 :(得分:0)
尝试将完整的URI传递给重定向函数,如下所示:
redirect(base_url('views/welcome_message'));
当然假设你的控制器是Views
而页面(功能)是welcome_message
答案 1 :(得分:0)
您无法直接将浏览器重定向到view
文件,但您可以将其重定向到controller
,这将显示您的观看次数。在您的示例中,您尝试访问CodeIgniter(位于您本地主机上的musiclear
文件夹中)Controller
,名称为views
,并调用welcome_message()
方法从中。但是如果你的真的想要展示它你必须有下一个结构:
musiclear/
Application
Controllers
views.php
和views.php
内容:
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Views extends CI_Controller {
function index() {
// default action, required method
}
function welcome_message(){
$this->load->view('welcome_message');
}
}
?>
答案 2 :(得分:0)
实际上当您在CodeIgniters中进行重定向时,它会查找您的控制器,您应该通过控制器的功能加载视图。 e.g:
function validate_credentials() {
$this->load->model('membership_model');
$query = $this->membership_model->validate();
if ($query) { // if users credentials validated
$data = array('usernames' => $this->input->post('username'),
'is_logged_in' => true);
$this->session->set_userdata($data); //set session data
redirect(base_url().'home/welcome'); //redirect to home function
} else { //incorrect username or password
$this->index();
}
}
function welcome(){
$this->load->view('welcome_mesage');
}
答案 3 :(得分:0)
可能忘了redirect()
函数仅适用于控制器类,即。
让你拥有welcome
课程,这样你就可以使用
redirect('wolcome');
您还可以重定向控制器类的功能
如果要重定向到page
控制器类的welcome
函数,那么你将写入
redirect('welcome/page');