Проблема с функцией if на codeigniter 3

Здравствуйте, я работаю над проектом codeigniter 3, и мне нужно назначить билет другому человеку, который пытается это сделать.

В следующем примере я хочу сделать следующее: если пользователю с ID = 92, билет будет назначен ему, но если у пользователя ID = 94, билет будет назначен пользователю с ID = 92 ( ответственный), и он будет сохранен в другом столбце внутри базы данных (colaborador).

Проблема в том, что «если» вообще не работает, если я захожу под другим пользователем, например. тот, у которого ID = 1, он по-прежнему выполняет всю работу.

пример:

public function assign_user($consultaid, $hash) 
{
    if ($hash != $this->security->get_csrf_hash()) {
        $this->template->error(lang("error_6"));
    }
    $consultaid = intval($consultaid);
    $consulta = $this->consultas_model->get_consulta($consultaid);
    if ($consulta->num_rows() == 0) {
        $this->template->error(lang("error_84"));
    }
    $consulta = $consulta->row();
    $usuario = $this->user->info->ID;

    if ($usuario = 92) {
        $this->consultas_model->actualizar_consulta($consultaid, array(
        "responsable" => "92",
    )
);

    } 

    if ($usuario = 94) {
        $this->consultas_model->actualizar_consulta($consultaid, array(
        "responsable" => "92",
        "colaborador" => "94",
    )
);

    }   

    $this->consultas_model->agregar_historia(array(
        "usuarioid" => $this->user->info->ID,
        "mensaje" => $this->user->info->username . " " . lang("ctn_661"),
        "fecha" => date('Y-m-d H:i:s'),
        "timestamp" => time(),
        "consultaid" => $consultaid
    )
);

    if ($consulta->status == '0'){
        $uData = ['status'=>1];
        $this->db->where('ID', $consulta->ID);
        $this->db->update('consultas', $uData);
    }

    $this->session->set_flashdata("globalmsg", lang("success_56"));
    redirect(site_url("consultas/ver/" . $consulta->ID));
}

Я надеюсь, что это было вообще ясно

Спасибо

if ($usuario = 94) должен иметь два =. = - присвоение значения; == - сравнение
Justinas 14.09.2018 09:11

сделайте == или === и попробуйте в условии, если

suresh 14.09.2018 09:13
Стоит ли изучать 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
2
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
if ($usuario = 94) {

Один = означает, что вы присваиваете этой переменной это значение, и оно всегда будет истинным, вам нужно использовать операторы сравнения == или ===.

мой плохой :) я понял поздно но ты прав! Благодарность

Alfredo Sanroman 14.09.2018 09:22

не беспокойтесь :) удачи!

WKoppel 14.09.2018 09:24

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