Chi mi dà una mano su questa eccezione di sessione di zend framework??

Salve a tutti stò costruwndo un'applicaizone con zend framework, e sono alle primissime armi (anche in programazione object oriented), stò facendo in questo momento una paginetta di login con scrittura dati i nsessione, e quando clicco su invio zend mi restituisce questa eccezione:

Zend_ExceptionSession must be started before any output has been sent to the browser; output started in C:\Program Files\xampp\htdocs\wosz_zend\application\forms\FRMLogin.php/55

praticamente ecco in breve come si svolge il codice:

-- nell'index.php(principale dell'applicazione,quello in public per intenderci)includo la cartella forms (l'impostazione di questa sò per certo che non mi crea problemi perchè uso altri forms nell'applicazione)

--sempre in questo index metto anche questo codice:

       $auth = Zend_Auth::getInstance();
       Zend_Registry::set('auth',$auth);

conservando così l'oggetto $auth..

--in una classe (account) nella public function loginAction(), richiamo l'oggettto del form dove mi ricade l'ecezione zend (chaimato FRMLogin).php e poi se è valorizzato l'S_POST di questo form, instanzio l'oggetto della classe:

CustomGestAuthIdentity()

dove creo tutto i lset di identità e credenziali passati dal form e tutto il resto  così:

$adapter = new Zend_Auth_Adapter_DbTable(Zend_Registry::Get('db'), $this->table_name,'email','password', $md5);

       $adapter->setIdentity($identity)

                    ->setCredential($credential);

            try{

                   $auth->authenticate($adapter);

               }

            catch {ecc..}

L'eccezione (che mi esce anche se tolgo i miei try e catch) mi parte dalla righa:

$auth->authenticate($adapter),perchè se commento non mi esce niente..

Una  cosa che vi potrà rendere meglio l'idea del problema, è che quando ho scritto il codice nell'index,la prima volta, mi è uscito lo stessa eccezione, e per evitarla ho dovuto spostare l'include della directory forms dopo l'istanza dell'oggetto Zend_Auth::getinstance();,ma adesso per come ho impostato l'applciazione non lo posso più fare,oltre che mi sembra importante dover capire il problema...

Io non sò più cosa pensare vista la mia pochissima esperienza,mi auguro non sia lo stesso per voi..

saluti superson_16

inviato 6 anni fa
superson_16
modificato 6 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Ti chiedo di curare meglio il tuo modo di scrittura e di verificare meglio la formattazione dei tuoi messaggi.

Non stai utilizzando la struttura standard delle applicazioni Zend vero?

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Ciao MarioS, scusa se non sono stato preciso nel postare il progetto, comunque giusto per chiarezza del post,visto che ho risolto il problema, stò usando un'applicazione che era standard all'inizio, cioè nella root del web-server ho:

public,application e library

nella directory application ho:

models view controllers e una cartella dove posiziono tutti i forms che mi servono nell'applicazione.

il problema udite udite la cosa curiosa:

 era che avevo 2 righe vuote dopo la chiusura del tag php (?>),e me li rilevava come scritture html, e per questo mi sollevava l'eccezione Zend,infatti il tag php (?>) lo chiudevo alla riga 53 e per sbaglio avrò premuto 2 volte invioo cancellato qualcosa e ho perso un bel  pò capire cos'era,  cosa più o meno analoga capita se metto un paio di:

<br>

nel file index.php di bootstrap

mi dà l'errore su qualsiasi redirect dell'applicazione....

Grazie lo stesso per i ltentativo di aiuto

ciaooo

risposto 6 anni fa
superson_16
X 0 X

Grazie per l'informazione.

Un suggerimento: se hai una pagina di solo codice php, per evitare questo genere di problemi, non mettere il tag di chiusura :)

Ciao

risposto 6 anni fa
Mario Santagiuliana
X 0 X

Ciao marioS grazie mille per la dritta,avevo letto questa cosa da qualche parte,da oggi in poi ne terrò conto...Senti ho aperto un post nuovo su un problema con il preDispatch, sul quale penso di non avere la stessa fortuna che ho avuto in quest'occasione,puoi dargli un'occhiata, magari tu capisci quale'è il problema che ho...

grazie ciaooo

risposto 6 anni fa
superson_16
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda