2017-09-05 71 views
0

我需要延遲執行重定向功能以顯示警報消息。我已經使用了睡眠函數,但結果是它只是在從視圖調用方法之前延遲。不要在方法上執行一些行,延遲並執行下一行。[CodeIgniter]:在控制器中執行重定向功能之前的延遲時間

這是我的代碼:

if($thisJumlah != 0) { 
     echo '<script language="javascript">'; 
     echo 'alert("Warning! The role you are to going delete has some employees")'; 
     echo '</script>'; 

     sleep(3); 
     redirect('role'); 
    } 
    else 
    { 
     $this->modelapp->delete($tableName, $idName, $thisID); 
     redirect('role'); 
    } 

回答

1

它是清潔要做到這一點使用javascript:

if($thisJumlah != 0) { 
    echo '<script language="javascript">' . 
    'alert("Warning! The role you are to going delete has some employees");' . 
    'setTimeout(function(){ window.location.href = "/role"; }, 3000);' . 
    '</script>'; 
} 
else 
{ 
    $this->modelapp->delete($tableName, $idName, $thisID); 
    redirect('role'); 
} 

因此首先要提醒您的留言然後setTimeout您將延遲重定向3000毫秒(3秒)到您的網址「/角色」。

1

PHP sleep()功能使延遲在整個程序的執行。所以你的程序正在等待3秒鐘,並且從腳本的頂部開始執行(Javascript在等待之後也會被執行)。

您可以使用如下頭功能:

header("refresh:3; url=your_url_here"); 

更多關於休眠功能http://php.net/manual/en/function.sleep.php