Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour tout le monde,
Je suis débutante avec zend 2 et je viens de développer ma première application.
J'ai un pop up contenant liste des utilisateurs, en checkbox, récupérés de la base de données avec un boutton "Inviter". Si je clique sur le bouton "Inviter", je voulais envoyés des emails à ces personnes sélectionnées en checkbox mais là j'ai pas pu récupérer les ids de chekbox checked dans mon controlleur pour un envoi multiple.
Voila mon code phtml:
[lang=php]<div class="modal fade" id="cnx_modal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false" style="padding-right: 17px; width:700px; margin-left: 450px;"> <div class="modal-dialog" style="background-color: #333333;"> <div class="modal-content" style="background-color: #333333;" > <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" ><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> <h4 class="modal-title" id="myModalLabel"></h4> </div> <form action="#" method="post" class="search nav-form"> <div class="input-group input-search" style="width: 550px; margin-top: 30px;"> <input type="text" class="form-control" name="q" id="q" style="margin-left: 30px; border-radius: 0px;" placeholder="<?php echo $this->translate('Search'); ?>..." style="border-radius:0px;"> <span class="input-group-btn"> <button class="btn btn-default" type="submit"><i class="fa fa-search" id="search"></i></button> </span> </div> </form> <br> <?php foreach ($users as $frnd) : ?> <form method="post"> <div class="" style="margin-left: 30px;"> <H2 style="color:#DDD"> <input type="hidden" name="box1" value="0" /> <img src="/img/userEv.png" class="img-thumbnail"></img> <input type="checkbox" id="<?php echo htmlspecialchars_decode($frnd->id); ?>" name="userId[]" value="1"> <?php echo htmlspecialchars_decode($frnd->firstname); ?> <?php echo htmlspecialchars_decode($frnd->lastname); ?> (<?php echo htmlspecialchars_decode($frnd->ville); ?>, <?php echo htmlspecialchars_decode($frnd->pays); ?>) </H2> </div> </form> <?php endforeach; ?> <div class="row"></div> <form method="post" action="/calendar/eventdetails/<?php echo htmlspecialchars_decode($event->id); ?>"> <div class="button_suivre" style=""> <button class="btn btchange" name="invitUser" value="Invit" id="invitUser" style="margin-left:510px; border-radius:0px; width:130px; border-color:#357ebd;margin-top: 10px;border: 1px solid #DDD;"> Invit </button> </div><br><br> </form> <div class="row"></div> </div> <!-- /.modal-content --> </div> <!-- /.modal-dialog --> </div> <!-- /.modal -->
Et voilà mon action dans l'indexController :
[lang=php] public function eventdetailsAction() { $id = (int) $this->params()->fromRoute('id', 0); $this->layout()->setVariable('lang', $this->params()->fromRoute('lang', 'en_US')); $this->layout()->setVariable('action', $this->params()->fromRoute('action', 'index')); $request = $this->getRequest(); $aPost = $request->getPost(); if (isset($aPost['invitUser'])) { $user = new Container('user'); $db = $this->getServiceLocator()->get('db1'); if (!$user->offsetExists('id')) { $idconnected = '0'; } else { $idconnected = $user->offsetGet('id'); $mail = $db->query("SELECT email FROM user")->execute()->current();// je veux tester si l iduser= id de chekbox (en boucle) $message = new Message(); foreach ($mail as $recip) { $message->addTo($recip) // $message->addTo('xxxx@hotmail.com', 'eee@web.com') ->addFrom('xxxxx@gmail.com') ->setSubject('Invitation for the event : Event Latino'); } // Setup SMTP transport using LOGIN authentication $transport = new SmtpTransport(); $options = new SmtpOptions(array( 'host' => 'smtp.gmail.com', 'connection_class' => 'login', 'connection_config' => array( 'ssl' => 'tls', 'username' => 'xxxxx@gmail.com', 'password' => '******' ), 'port' => 587, )); $html = new MimePart('<b>Invitation for the event: Latin Night, orgonized by Mr. Jony Cornillon. Date : 06/04/2015</b>'); $html->type = "text/html"; $body = new MimeMessage(); $body->addPart($html); $message->setBody($body); $transport->setOptions($options); $transport->send($message); } }}
Merci pour votre aide.
Dernière modification par simsam (03-04-2015 12:23:04)
Hors ligne
Hello,
pour récupérer une variable en ZF2 tu peu utiliser :
[lang=php] $maVar = $this->params()->fromPost('paramname');
ensuite pour ta requête je te conseil de faire une requête du style :
'SELECT * FROM user WHERE id IN (1,2,3,4, ...)
EDIT : Evidemment fromPost va chercher dans les variable en post ($_POST)
Dernière modification par flobrflo (03-04-2015 14:04:26)
Hors ligne
Pages: 1