Если я открываю файл ~/index.php/crud /, отправьте форму, он отобразит этот URL: ~/index.php/index.php/crud/create. Вы можете увидеть это из источника страницы. Я удивляюсь, почему есть два index.php?Форма представления - CodeIgniter
class Crud extends CI_Controller
{
function index()
{
$this->load->view('crud');
}
function create()
{
$data = array(
'sku' => $this->input->post('sku'),
'name' => $this->input->post('name'),
'price' => $this->input->post('price')
);
$this->load->model('crud_model');
$this->crud_model->create($data);
$this->index();
}
}
class Crud_model extends CI_Model
{
function create($data)
{
$this->db->insert('products', $data);
return;
}
}
<!DOCTYPE html>
<html>
<head>
<title>CRUD</title>
</head>
<body>
<h1>Create</h1>
<div>
<?php echo form_open('crud/create'); ?>
<label for="sku">SKU</label>
<input type="text" name="sku" id="sku"><br>
<label for="name">Name</label>
<input type="text" name="name" id="name"><br>
<label for="price">Price</label>
<input type="text" name="price" id="price"><br>
<input type="submit" name="submit" value="Go">
<?php echo form_close(); ?>
</div>
</body>
</html>
Если я открыть ~/index.php/CRUD /, отправить форму, он показывает этот адрес: ~/index.php/index.php/отбросы/создать. Вы можете увидеть это из источника страницы. Я удивляюсь, почему есть два index.php?
Каково значение base_url в файле конфигурации? – Lirux
, если ваш base_url имеет класс закрытия в конце, такой как «/», тогда он создает еще один index.php. убедитесь, что этого не произошло. –