Не загружаются фото в базу данных, как решить?

0

Вроде всё пишу правильно, но фото не загружается в бд. Как решить эту проблему?

//контроллер

<?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>

//Форма подгружается в меню

codeigniter

1 ответов

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'
);

Sign up or Log in to write an answer