変数を変数に格納する際に問題があり$_SESSION
ます。Zend フレームワークを使用して、3 ステップのアプリケーション フォームを作成しています。最初のステップが完了したら、データを MySQL データベースに保存し、返された挿入 ID をセッション変数に保存します。次に、ページを別のコントローラーに転送します (ステップ 2)。リクエストを転送すると、すべてが正常に機能し、セッション変数から ID を読み取ることができます。しかし、2 番目のフォーム (ステップ 2 と同じコントローラーをアクションとして持つ) を送信すると、セッションが失われます。試してみるとvar_dump
、 が返されますNULL
。
コードは次のとおりです。
public function organizationAction()
{
$this->view->vals="";
$form=$this->getOrganizationForm();
$this->aplid=$_SESSION['appid'];
var_dump($_SESSION);
$firsttime=$this->getRequest()->getParam('firsttime',0);
//if(null==$this->aplid) $this->_forward('index','index');
if ($this->getRequest()->isPost() && $firsttime==0) {
if (!$form->isValid($_POST)) {
// Failed validation; redisplay form
$this->view->form = $form;
return false;
}
var_dump($_SESSION);
$values = $form->getValues();
$db=new Util_Database();
if($db->insertOrganization($values,$this->aplid))
$this->_forward('final');
else echo "An error occured while attempting to submit data. Please try agian";
}
$this->view->form=$form;
}
ここで何が問題なのですか?session_id
をフォームに保存してから の前session_start()
に設定しようとしましたが、まったく新しいセッションが開始されます。助けてください!