上市没问题,但所有其他功能都不起作用
Listing okay, but all other functions are not working
我对 Codeigniter 和 Grocery CRUD 完全陌生,但我非常喜欢这个概念,所以我正在尝试使用这些框架制作我的小应用程序。
所以,现在登录系统正在运行,在 "home" 页面上登录后,我看到我的 Grocery CRUD table,它已经填满了,到目前为止没问题...
我的问题是,我无法使用任何功能:添加、编辑、查看、搜索不起作用,它给我 404 错误,例如这是一个编辑 link:
http://subdomain.mysite.com/index.php/home/edit/1
该站点位于子域中,我不知道是否相关。
这是我的 base_url:
$config['base_url'] = '/';
如果我将其更改为 '',则 base_url();方法没有给我正确的值,我认为这是因为子域。
这是我完整的 "Home" 视图:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My system</title>
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>bootstrap/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h1 class="page-header text-center">My system</h1>
<div class="row">
<div class="container text-right">
<?php
$user = $this->session->userdata('user');
extract($user);
?>
<p class="d-inline"><b>Logged in as:</b> <i><?php echo $fname; ?></i></p>
</div>
<div class="container">
<?php
$crud = new grocery_CRUD();
$this->grocery_crud->set_table('mobil_table');
$this->grocery_crud->columns('mobile_number', 'package_name', 'package_date');
$output = $this->grocery_crud->render();
$this->load->view('mobil.php', $output); ?>
<a href="<?php echo base_url(); ?>index.php/user/logout" class="btn btn-danger">Logout</a>
</div>
</div>
</div>
</body>
</html>
我的路线:
$route['default_controller'] = 'user';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['home'] = 'user/home';
我应该更正哪些内容才能使这些功能在此页面上运行?谢谢 :)
您必须通过您的controller/method方式
访问您的编辑页面
如果您的控制器是用户并且它有一个带有参数名称 $id 的功能编辑,您的访问 url 将是:
http://subdomain.mysite.com/index.php/user/edit/1
或为其定义新路线:
$route['home/edit'] = 'user/edit';
或者更清楚的是
$route['home/edit/(:num)'] = 'user/edit/';
但是您可以通过以下步骤获得干净的 urls:
首先使用以下代码在您的网站根文件夹中创建一个 .htaccess 文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/ [L]
更改之后:
$config['base_url'] = 'http://subdomain.mysite.com/';
和
$config['index_page'] = '';
完成上述步骤后,您可以在 urls
中访问没有 index.php 的 urls
例如:
http://subdomain.mysite.com/index.php/user/edit/1
会变成
http://subdomain.mysite.com/user/edit/1
我对 Codeigniter 和 Grocery CRUD 完全陌生,但我非常喜欢这个概念,所以我正在尝试使用这些框架制作我的小应用程序。
所以,现在登录系统正在运行,在 "home" 页面上登录后,我看到我的 Grocery CRUD table,它已经填满了,到目前为止没问题...
我的问题是,我无法使用任何功能:添加、编辑、查看、搜索不起作用,它给我 404 错误,例如这是一个编辑 link:
http://subdomain.mysite.com/index.php/home/edit/1
该站点位于子域中,我不知道是否相关。
这是我的 base_url:
$config['base_url'] = '/';
如果我将其更改为 '',则 base_url();方法没有给我正确的值,我认为这是因为子域。
这是我完整的 "Home" 视图:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My system</title>
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>bootstrap/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h1 class="page-header text-center">My system</h1>
<div class="row">
<div class="container text-right">
<?php
$user = $this->session->userdata('user');
extract($user);
?>
<p class="d-inline"><b>Logged in as:</b> <i><?php echo $fname; ?></i></p>
</div>
<div class="container">
<?php
$crud = new grocery_CRUD();
$this->grocery_crud->set_table('mobil_table');
$this->grocery_crud->columns('mobile_number', 'package_name', 'package_date');
$output = $this->grocery_crud->render();
$this->load->view('mobil.php', $output); ?>
<a href="<?php echo base_url(); ?>index.php/user/logout" class="btn btn-danger">Logout</a>
</div>
</div>
</div>
</body>
</html>
我的路线:
$route['default_controller'] = 'user';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['home'] = 'user/home';
我应该更正哪些内容才能使这些功能在此页面上运行?谢谢 :)
您必须通过您的controller/method方式
访问您的编辑页面如果您的控制器是用户并且它有一个带有参数名称 $id 的功能编辑,您的访问 url 将是:
http://subdomain.mysite.com/index.php/user/edit/1
或为其定义新路线:
$route['home/edit'] = 'user/edit';
或者更清楚的是
$route['home/edit/(:num)'] = 'user/edit/';
但是您可以通过以下步骤获得干净的 urls:
首先使用以下代码在您的网站根文件夹中创建一个 .htaccess 文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/ [L]
更改之后:
$config['base_url'] = 'http://subdomain.mysite.com/';
和
$config['index_page'] = '';
完成上述步骤后,您可以在 urls
中访问没有 index.php 的 urls例如:
http://subdomain.mysite.com/index.php/user/edit/1
会变成
http://subdomain.mysite.com/user/edit/1