0

Codeigniter セッションが IE でランダムに終了するという問題があり、どこでも検索してすべてを試しましたが、バグは消えませんでした。ajax と sess_update() が機能しないかどうかを確認する関数を試しました。私の質問は、後退は何ですかコントローラー呼び出しごとに CI セッションを初期化するとどうなりますか? ネイティブ セッションと CI セッションの両方を持っていますが、すべてをネイティブ セッションに変更するにはさらに数日かかります。その一時的な修正。

  class Transactions extends Controller {

    function Transactions()
    {
        session_start();
        parent::Controller();   

        $this->load->model('Modelcontracts');
        $this->load->model('Modelsignup');
        $this->load->model('Modeltransactions');

        $this->session->set_userdata('account_id',$_SESSION['account_id']);
        $this->session->set_userdata('email',$_SESSION['email']);
        $this->session->set_userdata('account_type',$_SESSION['account_type']);
        $this->session->set_userdata('parent_account_id',$_SESSION['parent_account_id']);
        $this->session->set_userdata('accountrole_id',$_SESSION['accountrole_id']);
        $this->session->set_userdata('user_type_id',$_SESSION['user_type_id']);

    }



    function index()
    {
4

2 に答える 2

0

CodeIgnitersセッションで問題が発生することはありません。のMySQLテーブルを作成しましたci_sessionsか?

挫折は基本的にそれが非論理的な呼びかけであるということです。それが問題ではない場合、私はそれでどんな挫折も見ることができません。

ただし、次のようにコードを簡略化できます。

$arr = array('account_id', 'email', 'account_type', 'parent_account_id', 'accountrole_id', 'user_type_id');

foreach($arr as $h)
    if (isset($_SESSION[$h]))
        $this->session->set_userdata($h, $_SESSION[$h]);
    // else echo "Session [{$h}] doesn't exist!";

または、セッションライブラリを拡張して、

foreach(array_keys($_SESSION) as $h)
    $this->CI->session->set_userdata($h, $_SESSION[$h]);

ロードされたとき。

于 2012-05-26T10:08:52.303 に答える
0

session_start()CodeIgniter でセッションを管理している場合 (CodeIgniter のset_userdata()/get_userdata()関数を使用している場合)を使用する必要はないと思います。

CI ユーザー ドキュメントの上部に、CI は PHP のネイティブ セッション処理を使用しないと記載されているため、問題が発生している可能性があります。セッションは、セッション ライブラリをロードすることによって自動的に開始されます。設定ファイルに配置した場合は自動的に、または で明示的に開始され$this->load->library('session');ます。

http://codeigniter.com/user_guide/libraries/sessions.html

-ガス


編集: IE/CI セッションの問題に関する CI フォーラムの投稿を見つけました。どうやらそれはよく知られた問題です。http://codeigniter.com/forums/viewthread/211955/

于 2012-05-26T14:56:47.467 に答える