2016-07-08 15 views
1

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>"; 

第二の方法は、私のために働いているが、私はそれは良い方法ではないと思います。したがって、スクリプトの実行が完了した後にリダイレクトを表示するための他のオプションもあります。 例:フォームデータを挿入して、スクリプトにデータが正しく挿入されたことをユーザーに示してから、ページをリダイレクトしたい場合。 スクリプトを最初に実行してからページリダイレクトを実行します。

+0

機能が変更されていない場合は、ビューの呼び出し時にスクリプトを実行できます。 –

+0

@MayankVadiya。まずスクリプトを実行してから別のページにリダイレクトしたいのですが機能が正常に動作しているのは、ページがリダイレクトされるためにスクリプトが消えるだけです。 – Bhavin

答えて

1

は私の質問、

を解決します。 Ex。 :スクリプトにデータが正しく挿入されていることをユーザーに示したい場合は、ページをリダイレクトする必要があります。

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

コード内にフラッシュデータを使用します。

// 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'); 

希望します。我々はいくつかのタイムアウト後に最初にしてスクリプトを実行したい場合は

+0

お返事ありがとうございました。まずスクリプトを実行してから別のページにリダイレクトしたいのですが機能が正常に動作しているのは、ページがリダイレクトされるためにスクリプトが消えるだけです。私は私の質問を編集しました – Bhavin

+0

あなたはその成功メッセージリダイレクトページに基づいて、ユーザーを確認するためのajaxリクエストを使用することができます –

+0

兄弟私は私の質問を編集する前に混乱していた私の質問を更新しました。データがスクリプトに正しく挿入されていることをユーザーに示してから、ページをリダイレクトする必要があります。 – Bhavin

関連する問題