Не загружаются фото в базу данных, как решить?
Вроде всё пишу правильно, но фото не загружается в бд. Как решить эту проблему?
//контроллер
<?php
defined('BASEPATH') OR exit("No direc script access allowed");
class Photos extends MY_Controller {
public function __construct() {
parent::__construct();
$this->load->model('photo_model');
}
public function index() {
$data['title'] = 'Все новости';
$this->load->view('templeates/header', $data);
$this->load->view('news/index', $data);
$this->load->view('templeates/footer');
}
public function createPhoto() {
$data['title'] = 'Все новости';
if($this->input->post('poster') && $this->input->post('slug')) {
$post = $this->input->post('poster');
$slug = $this->input->post('slug');
if($this->news_model->setUpdate($post, $slug)) {
$this->load->view('templeates/header', $this->data);
$this->load->view('news/success', $this->data);
$this->load->view('templeates/footer');
} else {
$this->load->view('templeates/header', $this->data);
$this->load->view('photo/photo_avatar', $this->data);
$this->load->view('templeates/footer');
}
}
}
}
//model
<?php
class Photo_model extends CI_Model {
public function __construct() {
$this->load->database();
}
public function setUpdate($post, $slug) {
$data = array(
'poster' => $post,
'slug' => $slug
);
return $this->db->insert('information', $data);
}
public function getPhoto($slug = FALSE, $limit) {
if ($slug === FALSE) {
$query = $this->db
->order_by('id')
->limit($limit)
->get('information');
return $query->result_array();
}
$query = $this->db->get_where('information', array('slug' => $slug));
return $query->row_array();
}
}
//форма
<form action="/photo/photo_avatar/" method="post">
<input type="input" name="poster" placeholder="poster">
<input type="input" name="slug" placeholder="slug">
<input type="submit" name="submit" value="Отправить">
</form>
//Форма подгружается в меню
1 ответов
Проверьте, что данные приходят в этом месте кода:
$this->input->post('poster') && $this->input->post('slug')
Можно после проверки post запросов (код выше) внутри блока написать вывод через var_dump, чтобы понять, заходит программа в блок if или нет. Если заходит в if, нужно проверять метод $this->news_model->setUpdate($post, $slug), приходит ли туда $post и $slug (также через var_dump).
Если в модель данные приходят, нужно смотреть уже в модели $this->db->insert('information', $data); Проверить, существует ли таблица information в базе (а также наличие опечаток в названии таблицы). Если опечаток нет и таблица существует, можно создать в контроллере тестовый метод и в него поместить вставку в базу $this->db->insert('information', $data), только $post и $slug в массиве $data указать вручную, типа такого:
$data = array(
'poster' => 'img.jpg',
'slug' => 'test_slug'
);