Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema zend framework insert/update su oracle - redirect

    Ciao a tutti e grazie per le eventuali risposte.

    Sto realizzando un sito di gestione utenze, mezzi ecc con zend framework che si appoggia su un db oracle.

    Per inserire cosi come per modificare e selezionare dal db utilizzo il metodo query per semplicità ed anche perchè non mi và di scrivere 10 pagine per aggiornare 2 tabelle.

    posto un pò di codice così ci capiamo.


    nel model dove gestisco i mezzi ho questa query:

    $this->dbAdapter->query('update mezzi_dldx
    set id_autista = ?,
    ultima_modifica=sysdate, id_utente = ?
    where id_mezzo= ?
    and id_distributore = ?
    ',
    array(
    $Id_Driver,
    $this->auth->getIdentity()->ID_UTENTE_KEY, IdMezzo,
    $this->UserSession->IdDistributore
    )
    );

    Questa query non fa altro che aggiornare il mezzo con i parametri che passo io, e tutto funziona correttamente, o almeno sul db vedo che la tabella ssi aggiorna quindi funziona.

    Da zend framework invece nel controller eseguo questa action:

    public function editAction()
    {
    $request = $this->getRequest();
    if ($request->isPost()) {
    $editMezzo=new Application_Model_QueryMezzi();
    $editMezzo->editMezzo($request->getPost('ID'),$this->toHtmlEntities($request->getPost('DESCRIZIONE')),$request->getPost('TARGA'));
    $this->_helper->redirector('index');
    }
    }


    questo metodo $this->_helper->redirector('index'); mi riporta alla pagina di index dove mostro tutti i mezzi che sono inseriti!

    Arrivo al problema:

    Il problema è che si aggiorna tutto nel db ma nella pagina web dopo il redirect non vedo niente di nuovo (cioè le cose da me inserite o aggionate) e per vederle devo fare un refresh della pagina!!!!

    La mia domanda è: considerando che il db sembnra che si aggiorna, il problema potrebbe essere il db oracle che necessita di qualche commit o roba così, oppure è un problema del redirect?? io vedo che la pagina cmq si ricarica!

    Grazie a tutti cmq!!

  2. #2
    Si ricarica... ma il tuo browser ti mostra quella che aveva in cache... tant'è che se aggiorni a mano, la vedi aggiornata.
    Puoi utilizzare metatag per impedire il caching. Ad es:
    codice:
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="-1" />
    <meta http-equiv="Cache-Control" content="no-cache" />
    O utilizzare altre soluzioni. Se cerchi in giro trovi un pò di tutto.
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  3. #3
    Ciao e grazie per la risposta, funziona un pò si un pò no!

    Ho inserito questo all'interno della view layout.phtml

    <?php echo $this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8')
    ->appendHttpEquiv('expires','-1')
    ->appendHttpEquiv('pragma', 'no-cache')
    ->appendHttpEquiv('Cache-Control', 'no-cache');
    ?>


    Se ci sono altri metodi che mi garantiscono un refresh perfetto e SEMPRE preferirei dato che queto metodo delle volte delle altere no

    Grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.