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

Bibliothèques et frameworks PHP Discussion :

[Smarty] Smarty 3.0.8 | Formulaires et Plugins ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut [Smarty] Smarty 3.0.8 | Formulaires et Plugins ?
    Bonjour,
    Je suis débutant Smarty et je souhaiterais retranscrire proprement un Formulaire Php en Smarty. J'ai déjà lu les post du Forum a ce sujet, cependant étant donné que j'utilise les Plugins je n'arrive pas a touver de solutions pour le moment.

    Voici dans mon TPL Mon Formulaire Simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form method="post" action="{contact Nom=$Nom}">			
    <table>
    	<tr class="TR2Circuit">
    			<td><p class="CorpTexteCon">Nom</p></td>
    			<td><input name="Nom" size="25" type="text"></td>
    	</tr>
    </table>
    </form>
    Mon Fichier TPL fait donc appel a un Plugins du Nom de "contact" si j'ai tout compris.

    Voici mon fichier function.contact.php dans mon répertoire Plugins :
    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
     
    <?php
    /*
     * Smarty plugin
     * -------------------------------------------------------------
     * File:     function.contact.php
     * Type:     function
     * Name:     contact
     * Purpose:  Envoi d'un formulaire de Contact/Réservation
     * -------------------------------------------------------------
     */
     
     
     function smarty_function_contact($params, &$smarty)
    {
    	$nom = $smarty->get_template_vars($params['Nom']); 
    	if($nom = 'Toto')
            $output = "Ok!";
     
        return $output;
    }
    ?>

    Mes erreur Affichées :
    - Undefined variable: Nom
    - function call 'get_template_vars' is unknown or deprecated.

    J'en ai déduit que la Fonction get_template_vars n'existe plus ou que je ne sait pas m'en servir et que je n'arrive pas a faire communiquer mon Formulaire TPL et mon Fichier function.contact.php.

    Je remercie d'avance tout ceux qui ce seront penchés sur mon problème.
    Cordialement,
    Jaz.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Solution Provisoire
    Bonjour,
    J'ai effectué quelques recherches et j'ai trouvé une solution provisoire que je viens partager.

    Page Contact.TPL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <form method="post" action="Envoyer.php">			
    				<table>
    					<tr class="TR2Circuit">
    						<td><p class="CorpTexteCon">Nom</p></td>
    						<td><input name="Nom" size="25" type="text"></td>
    					</tr>
     
    				</table>
    			</form>
    Ici j'envoie donc mon Formulaire a une autre Page de mon site qui est : Envoyer.php

    Ma page Envoyer.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if(isset($_POST['Nom'])) 
    {
    $Nom=$_POST['Nom'];
    $oSmarty->assign('Names', $Nom);
    }
    else
    {
    $Nom="Pas de Nom";
    $oSmarty->assign('Names', $Nom);
    }
    Ma page traite la réception de la variable. Si il y a une variable dans mon formulaire alors on attribue a "Names" la Variable en question. Sinon on lui attribue "Pas de Nom" en cas de non recption de la variable.

    dans ma page Envoyer.TPL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    		<div class="TableVContact">
    		{$Names}
    		</div>
    Ici j'affiche ma Variable.
    Comme dit dans le titre c'est une solution temporaire que j'ai trouvé. J'aimerais tout de méme savoir si il est possible de le faire via les Plugins Smarty ce qui serait quand méme Beaucoup plus propre.

    Cordialement,
    Jaz

  3. #3
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour,

    Pourquoi as-tu besoin d'un plugin pour faire un simple traitement sur un formulaire?
    Si c'est tout le traitement que tu fais dans Envoyer.php alors tu peux te passer de ce fichier et faire ce traitement directement dans le fichier tpl. Je te donne un exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {if isset($oSmarty.post.btValider)}
       {if $oSmarty.post.nom !=''}
          {$oSmarty.post.nom}
       {else}
          Pas de Nom
        {/if}
    {/if}
    btValider étant ton bouton de soumission que tu as sans doute oublié
    Après tu peux assigner une variable {$Names} dans le template si tu traites sous plusieurs conditions.

    Après tout dépend aussi de l'architecture de ton système et etc
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

Discussions similaires

  1. Création formulaire avec plugin timesetter
    Par chris45 dans le forum jQuery
    Réponses: 1
    Dernier message: 06/10/2019, 15h12
  2. [Smarty] Extraction MySQL pour formulaire
    Par kitiss dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 16/01/2009, 18h12
  3. [Smarty] Formulaire et smarty
    Par melymelo dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 23/04/2007, 20h42
  4. [Smarty] Réafficher les variables de formulaire
    Par keiser1080 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 19/02/2007, 15h41
  5. [Smarty] SELECTED dans formulaire
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/08/2006, 20h04

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