Перед рисованием в codeigniter необходимо предоставить текст в штрих-код

Я использую библиотеки zend для генерации штрих-кода в codeigniter.

Это мой контроллер:

$this->load->library('zend');
    $this->zend->load('Zend/Barcode'); 
    $barcode = $this->input->post('barcode'); //nomor id barcode
    $imageResource = Zend_Barcode::factory('code128', 'image', array('text'=>$barcode), array())->render();

    $imageName = $barcode.'.jpg';
    $imagePath = 'barcode/'; // penyimpanan file barcode
     imagejpeg($imageResource, $imagePath.$imageName); 
    $pathBarcode = $imagePath.$imageName; 

    $kd_barang = $this->input->post('kd_barang');

    $pathBarcode = $this->input->post('barcode');



    $editdata=array(
        /*Nama Field => $Nama Variabel*/

        'barcode' => $pathBarcode
    );


    /*Primary Key Sebagai Kunci*/
    $where=array(
        'kd_barang'=>$kd_barang
    );
    /*Mengambil Function Dari Model*/
    $this->m_operator->aksi_update_barang($where,$editdata,'barang');
    redirect('c_op/index');

Это моя точка зрения:

<form action = "<?php echo base_url(). 'index.php/c_op/aksi_editbarang'; ?>" method = "post">

    <center>

    <table border = "1">
        <?php 

        foreach ($edit->result() as $c){?>
        <tr>
            <td>Kode Barang</td>
            <!-- Primary Key Sebagai Kunci -->
            <td><input type = "text" name = "kd_barang" value = "<?php echo $c->kd_barang ?>" readonly></input></td>

        <tr>
            <td>Barcode</td>
            <td><input type = "text" name = "barcode" value = "<?php echo $c->kd_barang ?>" readonly><?php echo $c->barcode;?></td>
        </tr>
        <tr>
            <td><button type = "submit">UPDATE</button></td>
        </tr>
        <?php } ?>
    </table>

    </center>

</form>

Но штрих-код не мог быть нарисован, потому что он сказал: «Текст должен быть предоставлен для штрих-кода, прежде чем рисовать». Но я уже заявлял, что текст для $ barcode - $ kd_barang. Он сохраняется в базе данных, но как текст, а не как изображение. Пожалуйста, помоги мне.

var_dump($barcode); что это?
Alex 10.08.2018 09:08

Я удалил перенаправление и заменил его на var_dump ($ pathBarcode), изображение отображается, но не сохраняется в базе данных

Akmal Athallah 10.08.2018 09:15

так что ваша проблема больше не в: «Текст должен быть предоставлен для штрих-кода перед рисованием»

Alex 10.08.2018 09:17

но я открываю путь к изображению в штрих-коде папки, изображение все еще говорит, что текст должен быть предоставлен штрих-коду перед рисованием

Akmal Athallah 10.08.2018 09:21

так что снова я должен спросить var_dump ($ штрих-код); что это такое?

Alex 10.08.2018 09:22

и причина, по которой путь не сохраняется, заключается в том, что вы определяете $pathBarcode = $this->input->post('barcode'); после $pathBarcode = $imagePath.$imageName;

Alex 10.08.2018 09:26

это ноль, и есть сообщение об ошибке, неопределенный штрих-код переменной

Akmal Athallah 10.08.2018 09:27

вот твоя проблема. вот почему вы всегда должны подтверждать свой ввод

Alex 10.08.2018 09:28

почему foreach? это ваше реальное представление, которое вы используете для отправки? знаете ли вы, что форма так не работает? например, если вы хотите иметь несколько входов под одним и тем же именем в одной и той же форме (и из цикла, если у вас более 1 результата, у вас будут повторяющиеся имена), вам нужно либо сделать его массивом, добавив имя [] и обработка на бэкэнде с помощью цикла, или вам нужно открыть и закрыть форму в цикле, чтобы каждая отправка формы была отдельной

Alex 10.08.2018 10:02
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
9
386
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По какой-то причине вы не получаете значение $barcode. Я подозреваю, что опубликованное вами представление не имеет прямого отношения.

Следующий код в некоторой степени проверит ввод и устранит проблему с путем.

    $this->load->library('zend');
    $this->zend->load('Zend/Barcode');
    $barcode = $this->input->post('barcode'); //nomor id barcode
    $kd_barang = $this->input->post('kd_barang');
    if (is_null($barcode) || is_null($kd_barang)) {
        show_error('Missing parameters');
    }
    // make barcode
    $imageResource = Zend_Barcode::factory('code128', 'image', array('text' => $barcode), array())->render();
    $imageName = $barcode . '.jpg';
    $imagePath = 'barcode/'; // penyimpanan file barcode
    imagejpeg($imageResource, $imagePath . $imageName);
    $pathBarcode = $imagePath . $imageName;
    $editdata = array(
        'barcode' => $pathBarcode
    );
    $where = array(
        'kd_barang' => $kd_barang
    );
    $this->m_operator->aksi_update_barang($where, $editdata, 'barang');
    //redirect('c_op/index'); commented out for debugging

подождите, вы хотите сохранить изображение в своей базе данных, а не клятву? зачем тогда вы пишете это в файл? ваша колонка - большой двоичный объект? Что вы пытаетесь достичь?

Alex 10.08.2018 10:27

а остальные 3 вопроса?

Alex 10.08.2018 11:03

Другие вопросы по теме