Mam taki problem:
Buduje sklep a konkretnie składanie zamówienia. Chciał bym zrobić tak, że pierwszy ekran po kliknięciu w "Składam zamówienie" to strona z formularzem logowania oraz rejestracji. Chciał bym Aby po zalogowaniu / rejestracji system przerzucił mnie na strone z formularzem składania zamówienia - czyli nie standardowo na np. "/" tylko gdzie indiziej.
Robie tak:
W "Składam zamówienie":
Kod
$orderNS = new Zend_Session_Namespace('order');
$orderNS->setExpirationHops(1);
$orderNS->wantToOrder = true;
$orderNS->setExpirationHops(1);
$orderNS->wantToOrder = true;
Widok tej akcji wygląda mniej więcej tak:
Kod
<?php echo $this->action('index', 'login'); ?>
<?php echo $this->action('register', 'user'); ?>
<?php echo $this->action('register', 'user'); ?>
Dalej w akcji /login/index robie w ten sposób:
Kod
require_once 'Zend/Session/Namespace.php';
$orderNS = new Zend_Session_Namespace('order');
if( $orderNS->wantToOrder !== null ) {
print 'ustawiam NS';
$orderNS = new Zend_Session_Namespace('order');
$orderNS->setExpirationHops(1);
$orderNS->wantToOrder = true;
}
$orderNS = new Zend_Session_Namespace('order');
if( $orderNS->wantToOrder !== null ) {
print 'ustawiam NS';
$orderNS = new Zend_Session_Namespace('order');
$orderNS->setExpirationHops(1);
$orderNS->wantToOrder = true;
}
No i po kliknięciu w zaloguj i przejsciu na akcje /login/login
Kod
require_once 'Zend/Session/Namespace.php';
$orderNS = new Zend_Session_Namespace('order');
Zend_Debug::dump($orderNS->wantToOrder);
$orderNS = new Zend_Session_Namespace('order');
Zend_Debug::dump($orderNS->wantToOrder);
Wynikiem jest NULL
Chciał bym aby w każdym kroku rejestracji / logowania jeśli jest coś w Zend_Session_Namespace('order') to przedłużyć sesję o jeszcze jednego "Hopsa" i w odpowiednim momencie przekierować na formularz skłądania zamówienia.
Problem polega na tym, że gdy użyje metody setExpirationHops raz i strona się przeładuje to następnym razem mimo iż ustawie hopsy na 1 to namespace pamięta, że strona raz się już przeładowała a ja nie wiem jak długo użytkownikowi zajmie logowanie = na ile ustawiac hopsy w kazdym z kroków - użytkownik może przecież pomylić się niejednokrotnie przy logowaniu.
Proszę o pomoc.