仅在脚本完成后才重定向在codeigniter

时间:2016-07-08 12:01:06

标签: javascript php codeigniter

我想重定向到codeigniter中的脚本查看。 首先编写脚本,然后重定向页面

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

class Home extends CI_Controller {
           public function login()
           {
                  $this->load->view('login');
           }
}             

我尝试了这段代码,但由于在脚本完成执行之前页面被重定向,因此无效。那么,如何在警报中显示通知。

                echo "<script>";
                echo "alert('User not Found');";
                echo "</script>";
                redirect('home/login');

我也试过这个,

 echo "<script>";
 echo "alert('User not Found');";
 echo "</script>";
 echo "<script>setTimeout(\"location.href = 'http://localhost/dealsnow/index.php/home/login';\",300);</script>";

第二种方式对我有用,但我认为这不是好方法。因此,在脚本完成执行后,还有其他可用于重定向的选项。 示例:如果我插入表单数据,然后我想向用户显示数据已在脚本中正确插入,然后我希望页面重定向。 首先编写脚本,然后重定向页面

2 个答案:

答案 0 :(得分:1)

解决我的问题,

如果我们想先执行脚本然后再执行一些超时。 防爆。 :如果我们想向用户显示在脚本中正确插入数据,然后我希望页面重定向。

                    echo "<script>";
                    echo "alert('Data Insereted Properly..!');";
                    echo "</script>";
                    $url = base_url().'/index.php/home/login';
                    header("refresh:3;url=$url");

答案 1 :(得分:0)

在代码中使用Flash数据。

// Set flash data 
$this->session->set_flashdata('error', 'User not Found');
// After that you need to used redirect function instead of load view such as 
redirect("home/login");

// Get Flash data on view 
$this->session->flashdata('error');

希望它会有所帮助。