Bonjour,
J'ai essayé pas mal de tutos :
http://zendgeek.blogspot.com/2009/07...framework.html
http://tv.xoofoo.org/modules/mytube/...cid=47&lid=354
http://www.throrinstudio.com/blog/in...e/idarticle/37
http://blog.aurevec.be/?p=124
Mais mon formulaire ne s'affiche que si je commente l'élément DatePicker.
Avec le DatePicker, j'ai une page blanche.
Bootstrap.php :
layout.phtml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initJQuery() { $this->bootstrap('view'); $view = $this->getResource('view'); $view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper'); } }
Identification.php (le formulaire) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?php $this->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8'); $this->headTitle()->setSeparator(' - '); $this->headTitle('ENFA - Stages Master'); echo $this->doctype(); ?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <?php echo $this->headMeta(); echo $this->headTitle(); echo $this->headLink()->prependStylesheet($this->baseUrl().'/css/site.css'); $this->JQuery()->addStyleSheet($this->baseUrl() . '/js/jquery/development-bundle/themes/smoothness/jquery-ui-1.8.7.custom.css'); $this->JQuery()->setUiLocalPath($this->baseUrl() .'/js/jquery/development-bundle/ui/jquery-ui-1.8.7.custom.js'); echo $this->jQuery(); ?> </head> <body> <div id="header"> <div id="logged-in-as"> <?php echo $this->loggedInAs(); ?> </div> </div> <div id="content"> <h1><?php echo $this->escape($this->title); ?></h1> <?php echo $this->layout()->content; ?> </div> </body> </html>
IdentificationController.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 class Application_Form_Identification extends ZendX_JQuery_Form { public function init() { $this->setName('identification'); $this->setMethod('post'); // Nom de l'étudiant $nom = new Zend_Form_Element_Text('nom'); $nom->setLabel('Nom') ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringTrim'); // Prénom de l'étudiant $prenom = new Zend_Form_Element_Text('prenom'); $prenom->setLabel('Prénom') ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringTrim'); // Adrel de l'étudiant $adrel = new Zend_Form_Element_Text('adrel'); $adrel->setLabel('Adrel') ->setRequired(true) ->addFilter('StripTags') ->addFilter('StringTrim'); // TODO Voir validator pour adrel*/ // Date de naissance de l'étudiant $datenaissance = ZendX_JQuery_Form_Element_DatePicker( 'datenaissance', array('label' => 'Date de naissance (jj/mm/aaaa)') ); $datenaissance->setJQueryParam('dateFormat', 'dd/mm/yyyy'); // Bouton Envoyer $envoyer = new Zend_Form_Element_Submit('envoyer'); $envoyer->setLabel('Envoyer'); $this->addElements(array($nom, $prenom, $datenaissance, $adrel, $envoyer)); } }
index.phtml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 class IdentificationController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ } public function indexAction() { $this->view->infomsg = " Vous avez été reçu à un concours vous permettant de participer à un stage dans un lycée agricole.\n Veuillez compléter le formulaire ci-dessous pour obtenir votre identifiant de connexion et votre mot de passe. "; $form = new Application_Form_Identification(); $this->view->form = $form; $request = $this->getRequest(); if ($request->isPost()) { if ($form->isValid($request->getPost())) { $values = $form->getValues(); $nom = $values['nom']; $prenom = $values['prenom']; $datenaissance = $values['datenaissance']; $date = new Zend_Date(); $date->set($datenaissance, Zend_Date::ISO_8601); // Recherche de l'étudiant en BDD $etudiant = new Application_Model_DbTable_Etudiant; $result = $etudiant->identifierEtudiant($nom, $prenom, $datenaissance); $login = $result['uti_login']; if($login != '') { // Étudiant identifié // Génération de son mot de passe d'utilisateur $motpasse = substr($prenom, 0, 1).Date('dmY').substr($nom,0,1); // Enregistrement du mot de passe en BDD $user = new Application_Model_DbTable_Utilisateur; $user->changerMotPasse($motpasse, $login); // Envoi de l'identifiant et du mot de passe par courriel $mail = new Zend_Mail(); $message = " Bonjour $prenom $nom.\n Vous avez été identifié avec succès sur le site http://www.enfa.fr/stagesmaster.\n Vous pouvez désormais vous inscrire à une session de stage dans un lycée agricole.\n Votre nom d'utilisateur est : $login\n Votre mot de passe est : $motpasse\n Vous pourrez changer ce mot de passe sur le site. "; $mail->setBodyText($message); $mail->setFrom('admin@enfa.fr', 'ENFA'); $mail->addTo($values['adrel'], $prenom.' '.$nom); $mail->setSubject('Votre identifiant pour les stages master ENFA'); $mail->send(); // Message de succès et réaffichage du formulaire $this->view->infomsg = " Vous avez été identifié avec succès.<br /> Votre nom d'utilisateur et votre mot de passe viennent de vous être envoyés à l'adrel que vous avez indiqué dans ce formulaire.<br /> Vous pouvez maintenant vous connecter. "; $this->_helper->redirector('index'); } // Fin if($login != '') } // Fin if ($form->isValid($request->getPost())) } // Fin if ($request->isPost()) } // Fin public function indexAction() }
Quelqu'un peut me dire ce qui ne va pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $this->jQuery()->enable(); $this->headTitle('Identification étudiant'); echo $this->escape($this->infomsg); echo $this->form; ?>
Partager