Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
il y a longtemps que je n'étais pas vu ici mais suite à une mise à jour de Zend Server CE, je rencontre un problème sur mes formulaires.
En fait je ne récupère plus la valeur de mes bouton "submit". Lors d'une suppression je demande une confirmation :
<?php if ($this->reception) :?> <form action="<?php echo $this->url(array('controller'=>'Journaliere','action'=>'supprimerreceptionarticlespropres')); ?>" method="post"><br /> <label>Êtes-vous sûr de vouloir supprimer cette reception ?<br /> <?php echo "Date de reception : ".$this->reception->created." | Numéro de bon : ".$this->reception->numero_bon." | Clients : ".$this->reception->getClients()->nom_court; ?></label> <br /> <br /> <input type="hidden" name="id" value="<?php echo $this->reception->id; ?>" /> <input type="submit" name="del" value="Oui" /> <input type="submit" name="del" value="Non" /> <br /> <br /> </form> <?php else: ?> <p>Impossible de trouver la reception d'articles propres.</p> <button onclick="document.location='<?php echo $this->BaseUrl();?>/Suivi/listemouvementsexternes/';">- Retour -</button> <?php endif;?>
mais je ne récupère plus de variable $this->_request->getPost('del') alors que la variable $this->_request->getPost('id') fonctionne toujours
public function supprimerreceptionarticlespropresAction(){ $identity=Zend_Auth::getInstance()->getIdentity(); $dbmysql = Zend_Registry::get('dbmysql'); $this->view->title=utf8_encode("Supprimer la réception articles propres"); if ($this->_request->isPost()) { $id = (int)$this->_request->getPost('id'); $del = $this->_request->getPost('del'); print_r($this->_request); if ($del == 'Oui' && $id) { $contenus=new ContenusExternes(); $contenus=$contenus->fetchAll('Evts_externes_id='.$id); $dbmysql->beginTransaction(); try { foreach($contenus as $contenu){ $stock=$contenu->Stocks_id; if($stock{0}=="Z"){ $dbmysql->query('update Est_stocke set quantite=quantite-'.$contenu->quantite.', modified="'.date('Y-m-d H:i:s').'" where Articles_id='.$contenu->Articles_id.' and Lieux_stocks_id='.$stock{1}.' '); } if($stock{0}=="R"){ $dbmysql->query('update Est_composee set quantite=quantite-'.$contenu->quantite.', modified="'.date('Y-m-d H:i:s').'" where Articles_id='.$contenu->Articles_id.' and Remorques_id='.$stock{1}.' '); } $dbmysql->query('update Possede set quantite=quantite-'.$contenu->quantite.' , modified="'.date('Y-m-d H:i:s').'" where Articles_id='.$contenu->Articles_id.' and Proprietaires_id='.$contenu->Proprietaires_id.' '); } $dbmysql->query('update Contenus_externes set closed="'.date('Y-m-d H:i:s').'" where Evts_externes_id='.$id); $dbmysql->query('update Evts_externes set closed="'.date('Y-m-d H:i:s').'" where id='.$id); $dbmysql->commit(); //$this->_redirect('/Suivi/listemouvementsexternes'); } catch (Exception $e) { $dbmysql->rollBack(); echo $e->getMessage() ; } }else{ //$this->_redirect('/Suivi/listemouvementsexternes'); } } else { $id = (int)$this->_request->getParam('id', 0); if ($id>0) { $receptions = new Evtsexternes(); $where = $dbmysql->quoteInto('id = ?', $id); $reception = $receptions->fetchRow($where); $this->view->reception=$reception; } } }
Quelqu'un saurait-il m'éclairer ?
Dernière modification par MathieuPortBoulogne (18-04-2012 12:26:23)
Hors ligne
Salut,
Mieux vaut différencier tes boutons submit avec un name différent et faire le test sur l'existence de la variable :
if ($this->_request->getPost('del_oui')) { ... } elseif ($this->_request->getPost('del_non')) { ... }
Le problème à mon avis vient que le name est le même pour les deux boutons, or c'est lui qui est pris en compte en POST.
A+
Hors ligne
Ben j'aurai surtout voulu savoir pourquoi le passage à la nouvelle version de zend server en test par rapport à celle d'y à un an ne fonctionne pas.
Je n'avais aucun problème avant, j'ai plusieurs programmes internes qui tournent parfaitement en production comme ça et ça m'embête de devoir tout reprendre surtout que certains ne sont pas de moi ....
Hors ligne
au final pour n'avoir qu'à modifier à un endroit j'ai modifier ma vu de la manière suivante
<input type="hidden" name="del" value="" /> <input type="submit" name="del_oui" value="Oui" OnClick="del.value='Oui'" /> <input type="submit" name="del_non" value="Non" OnClick="del.value='Non'" />
Je ne sais toujours pas d'où vient le problème mais il est corrigé
Hors ligne
Pages: 1