Чтобы избежать большого количества экранирования, я обычно пишу большие HTML блоки внутри PHP, например:
<?php
if(empty($_POST["username"]) || empty($_POST["password"])) {
?>
<script>
Swal.fire({
type: "error",
title: "Oops...",
text: "Please provide login credentials!"
});
</script>
<?php } ?>
Ваш код не выдает действительный JavaScript, потому что экранирование \
не нужно и для этого будет выведено. Движок JavaScript вашего браузера не знает, каким должен быть type: \"error\"
, и, вероятно, вы увидите ошибку в консоли.
Обязательно включите SweetAlert2 ПЕРЕД вашим кодом для отображения предупреждения (пример использования CDN):
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@9"></script>
Может быть, у вас есть это включение в нижней части вашего тела, но ваше состояние находится в середине вашей страницы?
РЕДАКТИРОВАТЬ: Атрибут language
для HTML <script/>
элемент устарел и должен быть пропущен.