Ver. 1.3 valori $_session dopo la zen_redirect()

Relativamente alle versioni

Moderatori: Sandro Carniel aka webmaster, Paolo De Dionigi aka Spike00

Canova6
Messaggi: 10
Iscritto il: mar feb 01, 2011 6:48 pm

Ver. 1.3 valori $_session dopo la zen_redirect()

Messaggioda Canova6 » gio giu 13, 2013 6:26 pm

In un punto di una mia procedura ho la $_SESSION come array(32)
ed ho verificato che subito prima della seguente istruzione c'è anche la ["customer_id"]=> int(579):

Codice: Seleziona tutto

     zen_redirect(zen_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL'));


Quello che non mi aspettavo è che l'esecuzione di questa zen_redirect(), purtroppo, mi rimanda solo alla pagina di time_out !! ( invece della checkout_success )

Nelle mie verifiche ho trovato che in effetti all'inizio del
...\includes\modules\pages\checkout_success\header_php.php
c'è il test

Codice: Seleziona tutto

// if the customer is not logged on, redirect them to the shopping cart page
if (!$_SESSION['customer_id']) {
  zen_redirect(zen_href_link(FILENAME_TIME_OUT));
}


che rimanda alla FILENAME_TIME_OUT quando 'customer_id' non è valorizzato!!!
Ed in effetti ho verificato che subito prima di questo test la $_SESSION è diventata un array(14)
e tra gli altri valori manca anche la ["customer_id"] (come se fosse stata resettata, ma quando ?)

Chi mi può aiutare?
Grazie

PS: la stessa procedura gira correttamente sulla versione ZC 1.5.1 !!

Canova6
Messaggi: 10
Iscritto il: mar feb 01, 2011 6:48 pm

Re: Ver. 1.3 valori $_session dopo la zen_redirect()

Messaggioda Canova6 » dom giu 16, 2013 5:21 pm

RISOLTO

In effetti la zen_redirect() sembra essere la deputata al mal funzionamento descritto.
Nella procedura questa istruzione è preceduta da:

Codice: Seleziona tutto

   $old_sess = $db->Execute("select id_sess_id from " . TABLE_SAVE . " where id_num_id = '" . $num_ref . "'");
   zen_session_id($old_sess->fields['id_sess_id ']);
...
   zen_redirect(zen_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL'));


cioè subito prima della zen_redirect() c'è una zen_session_id() che in teoria (molto in teoria) dovrebbe ripsristinare la $GLOBALS di sessione !

Per la versione zc 1.3.xx ho tolto la chiamata della zen_session_id() ed ora tutto funziona correttamente. !!! (alè)
Ne deduco che la combinazione delle due functions non lavorino in ugual modo tra la versione 1.3 e la nuova 1.5.1

Purtroppo sono costretto a lavorare senza un debug interattivo e non mi sono addentrato alla ricerca delle differenze.
Se qualcuno ci vuol provare ....

buon lavoro e
Grazie a tutti


Torna a “Versioni 1.3 xx”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite