Codeigniter - Sweetalert не работал в контроллере - PullRequest
0 голосов
/ 05 февраля 2019

Я попытался создать подсластитель, когда пользователь не проходит аутентификацию при входе в систему, но он никогда не появляется при перезагрузке страницы, не только подсластитель, но и сообщения с HTML-кодом.Проверьте код моего контроллера

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Login extends CI_Controller {

        public function __construct()
        {
            parent::__construct();
            $this->load->model('login_model','', TRUE);
        }

    public function index()
    {       

                if(isset($_POST['password']))
                {
                        $this->load->model('login_model');
                        if($this->login_model->login($_POST['username'],($_POST['password'])))
                        {
                        $this->session->set_userdata('username', $_POST['username']);
                        redirect('home');
                        }else
                        {
                                redirect('login', 'refresh');
                                $var = '<div class="alert alert-success"> <i class="ti-user"></i> This is an example top alert. You can edit what u wish.
                                <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button>
                                </div>';
                                echo $var;
                        }
                }
                $this->load->view('templates/header');
                $this->load->view('login/index');
                $this->load->view('templates/footer');
        }

        public function logout()
        {
            $this->session->sess_destroy();
            redirect('login');
        }

}

Я тоже пытался с swal("Hello") с этим классом SWAL:

$('#sa-basic').each(function(){
    swal("¡Error!", "Datos de autenticación erróneos, vuelva a intentarlo", "error");
});

1 Ответ

0 голосов
/ 05 февраля 2019

Эй, Александр, тебе нужно прошить данные, чтобы запустить swal ().Вот мой код, чтобы сделать это

<?php if ($this->session->flashdata('error')): ?>
<script>
swal({
  title: "Error",
  text: "Your request can not be completed",
  icon: "<?php echo site_url('Your Icon Destination'); ?>",
  button: false,
  timer: 5000,
});
</script>
<?php endif; ?>

Тот же код, который вы можете сделать для успеха на этот раз, будет

<?php if ($this->session->flashdata('success')): ?>
<script>
swal({
  title: "Congratulation",
  text: "Your request has been completed Successfully!",
  icon: "<?php echo site_url('assets/slim/lib/sweetalert/icon/cancel.svg'); ?>",
  button: false,
  timer: 5000,
});
</script>
<?php endif; ?>

с контроллера, вы можете сделать флэш-данные, такие как

$this->session->set_flashdata('success','Action Completed');

или

$this->session->set_flashdata('error','Action Not Completed');

Пожалуйста, проголосуйте, если это поможет вам

...