0

私は以下のようにzendセッションを使用しました..

$test = new Zend_Session_Namespace('test');

$test->test = "test text";

しかし、あるステップから別のステップに移動すると、正常に機能し、値がエコーされます ステップ3ではありません。私も $_SESSION を直接使用してみました (これが機能することを切望しているため)。しかし、セッションが保存されていないという同じ問題があります。Mozilla と IE を使用すると、サイトがほとんど壊れているように見えます。私の PC だけでなく、複数のシステムでテストしました。Cookie をクリアしようとしましたが、Cookie が有効なブラウザのみを使用しました。

SO 上記を行う際に考えられる問題を教えてください。私も挿入しましたzend_session::start();

前もって感謝します、サンジーブク、

4

1 に答える 1

0

あなたが達成しようとしていることに役立つコードを提供していないので、私は推測します。
私もこれに似た問題に遭遇しました。
私の問題は、ページネーターからページ番号を保持しようとしていたため、レコードに対して操作を実行してから、前のアクションで同じページに戻ることができました。

私が抱えていた問題は、アクション (ページの更新) を呼び出すたびにコントローラーがセッション データを上書きすることでした。そのため、元のアクションを呼び出すとすぐにページ番号が他のアクションに保持されますが、セッションは上書きされ、ページは 1 にリセットされます。

私の解決策は、ビュー スクリプトからページ番号を取得し、後でコントローラーにフィードバックすることでした。

//the view script
<?php $session = new Zend_Session_Namespace('page'); $page = $this->paginator->getCurrentPageNumber(); ?>

そのため、コントローラー/アクションのどこかを呼び出し$session->pageても、データはまだそこにあり、ビューが実際にレンダリングされるまで上書きされません。これはまさに私が必要としていたものです。

似たようなことに遭遇するかもしれません。PHP と Zend Framework の動作方法が原因で、不注意でセッション データを上書きしてしまう可能性があります。

これで解決しない場合は、さらに情報を提供してください。答えが見つかるかもしれません。

これが何らかの助け、または少なくともヒントを提供することを願っています。

于 2012-07-06T07:25:45.410 に答える