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 :
Code :
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');
}
} |
layout.phtml :
Code :
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> |
Identification.php (le formulaire) :
Code :
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));
}
} |
IdentificationController.php :
Code :
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()
} |
index.phtml :
Code :
1 2 3 4 5 6
| <?php
$this->jQuery()->enable();
$this->headTitle('Identification étudiant');
echo $this->escape($this->infomsg);
echo $this->form;
?> |
Quelqu'un peut me dire ce qui ne va pas ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !