IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Form PHP Discussion :

Utilisation de ZendX_JQuery_Form_Element_DatePicker [ZF 1.10]


Sujet :

Zend_Form PHP

  1. #1
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut Utilisation de ZendX_JQuery_Form_Element_DatePicker
    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 : 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');
        }
    }
    layout.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
    <?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 : 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));
        }
    }
    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
    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 : 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; 
    ?>
    Quelqu'un peut me dire ce qui ne va pas ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    J'ai modifié des configs pour afficher les erreurs et j'obtiens ceci :
    Fatal error: Call to undefined function ZendX_JQuery_Form_Element_DatePicker() in /var/www/html/stagmas/application/forms/Identification.php on line 34
    Pourtant j'ai bien mis la bibliothèque ZendX dans le répertoire library de mon application.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    J'ai trouvé ! Il manquait juste new avant ZendX_JQuery_Form_Element_DatePicker() !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « 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 la suite Linux Mageïa !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo