• Как организовать разные комментарии на каждой странице, YII2?

    kimono
    @kimono
    Web developer
    Не делайте так, это может быть опасно:
    $bodySafe = htmlspecialchars($this->body, ENT_QUOTES, "UTF-8");
                
                $db->createCommand('INSERT INTO comments (nick, body)' .
                    ' VALUES (\'' . $nickSafe . '\',  REPLACE("' . $bodySafe . '", "\n", "<br />"));')->execute();
            
                return true;
            }
            return false;
        }


    Делайте либо так:
    $comment = new Comment([
      'nick' => Yii::$app->user->identity->email,
      'body' => $this->body,
      'model' => 'news',
      'model_id' => 1234
    ]);
    return $comment->save();

    либо так:
    $result = $db->createCommand('INSERT INTO comments (nick, body, model, model_id) VALUES (:nick, :body, :model, :model_id)', [
      'nick' => Yii::$app->user->identity->email,
      'body' => $this->body,
      'model' => 'news',
      'model_id' => 1234
    ])->execute();
    return $result;

    Во вью выводите как Html::encode($body), зачем хранить HTML мусор в базе?
    Ответ написан
    Комментировать