Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates
Templates Forum d'entraide sur les templates (gabarits) avec PHP. Exemples : Smarty, TinyButStrong... Avant de poster -> FAQ templates et Cours gabarits
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2006, 21h57   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 9
Points : 4
Points : 4
Par défaut Intégration de QuickForm

Bonsoir, C'est mon premier post ce soir! super efficace ce forum franchement bien!

Bon voici mon probleme : je suis un debutant qui debute!! et il ya quelque temp j'ai decider de coder avec l'aide templates j'ai donc choisi Phplib ( me demandez pas pourquoi.. je debute )

mais mon probleme maintenant c'est que je veut creer un formulaire a l'aide de QuickForm ( de PEAR ) et le balancé a un endroit precis dans ma page web mais je n'y arrive pas :
en gros ca donne ça...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
// debut de mon formulaire
$form = new HTML_QuickForm('firstForm');
$form->addElement('header', null, 'Authentification Admin');
$form->addElement('text', 'login', 'Login:', array('size' => 30, 'maxlength' => 60));
$form->addElement('text', 'pass', 'Pass:', array('size' => 30, 'maxlength' => 60));
$form->addElement('submit', null, 'Envoyer');
 
if ($form->validate()) {
    echo '<h1>Hello, ' . htmlspecialchars($form->exportValue('login')) . '!</h1>';
    exit;
}
// affichage dans mon template
$tpl->set_var( 'FORM', $form->display() );
$tpl c'est la variable de mon templates...

vala normalement je pensais qu'il allais m'affiché le formulaire a la place de {FORM} mon templates mais il me le met tout le temp au debut de la page..

Que faire? merci
kamou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2006, 17h28   #2
Invité de passage
 
Inscription : octobre 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 9
Points : 4
Points : 4
Bon je vais me repondre a moi même vu que j'ai finit par trouvé de moi meme... après quelques jours mouaarf

en fait il suffisait de convertir le formulaire en HTML et le Balancer sur le template avec la fonction toHtml() ( interne à QuickForm ) et là il me l'affiche bien ou je veux !!

en gros ça donne ça..

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
// debut de mon formulaire
$form = new HTML_QuickForm('firstForm');
$form->addElement('header', null, 'Authentification Admin');
$form->addElement('text', 'login', 'Login:', array('size' => 30, 'maxlength' => 60));
$form->addElement('text', 'pass', 'Pass:', array('size' => 30, 'maxlength' => 60));
$form->addElement('submit', null, 'Envoyer');
 
if ($form->validate()) {
    echo '<h1>Hello, ' . htmlspecialchars($form->exportValue('login')) . '!</h1>';
    exit;
}
// affichage dans mon template
$tpl->set_var( 'FORM', $form->toHtml() );
vala vala Merci a moi même pour mon aide..
kamou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2006, 18h38   #3
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Explication... un système de template manipule des donnée qu'il insere dans une page type pour, tout à la fin, afficher le résultat... toi ce que tu faisais via ta méthode display() c'est l'équivalant d'un

donc le formulaire se retrouve affiché immédiatement alors que le moteur de template lui continu son boulot jusqu'a la fin du script ou tu lui dis... .. .

mais à ce moment là le formulaire a déja été affiché depuis longtemps... .. .

Voili voilou pour l'explication... à défault de n'avoir pu t'aider à temps... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h26.


 
 
 
 
Partenaires

Hébergement Web