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

Symfony PHP Discussion :

Bouton inactif dans partial ?


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Par défaut Bouton inactif dans partial ?
    Bonjour,

    Je vous explique mon pb. J'ai créé plusieurs partiaux qui s'affiche
    suivant le bouton sélectionné sur la page d'accueil.
    C'est mon content qui change suivant le bouton appuyé.

    Volà un bout de mon indexSucess.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php if( !(isset($_POST['btn_Soudeuse'])) && (!
    (isset($_POST['btn_Finition']))) ){
            include_partial('accueil/accueil', array(       'last_medaille'=>
    $last_medaille) );
            }
            if( (isset($_POST['btn_Soudeuse'])) ||
    (isset($_POST['btn_Finition'])) ){
                    if( ($_POST['soudure'] == "") && ($_POST['medaille'] != "") )
                        include_partial('accueil/medaille',array('nb_soud'=>$nb_soud,));
            }
    ?>
    Le problème vient de mon partial médaille :

    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
    <h1 align="center">
            <input type="button" name="btn_<<" value="<<"/>
            <input type="button" name="btn_<" value="<"/>
            <?php echo TITRE; ?>
            <input type="button" name="btn_>" value=">"/>
            <input type="button" name="btn_>>" value=">>"/>
    </h1>
    <?php
            /* On teste quel bouton est enfoncé
            */
            if(isset($_POST['btn_Soudeuse'])){
                    if(isset($_POST['btn_<<'])){
                            echo "<<";
                    }
                    else {
                        echo "GRAPHES";
                    }
            }
    ?>
    J'ai simplifié le code. J'espère que c'est compréhensible.

    Donc quand j'arrive sur la page, j'ai bien GRAPHES qui s'afiche et
    c'est ce que je veux.
    Mais si j'appuie sur le bouton <<, ça ne change rien... J'ai essayé de
    le mettre en dehors du if(isset($_POST['btn_Soudeuse'])) mais ca ne
    change rien.

    En fait, j'ai un formulaire, je rempli des données, je clique sur un
    bouton.
    Il m'emmène dans un autre partial : medaille ou je vois le graph
    correspondant aux données entrées.
    Et j'ai des boutons << < > >> car j'aimerais pouvoir naviguer.
    Mais un simple echo ne marche pas.

    Qqun a une idée?
    Merci d'avaance =D

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Par défaut
    En fait je voudrais juste savoir est-ce qu'on peut mettre des boutons dans les partiaux?

    Et comment les utilise-t-on?

    Merci d'avance pour votre aide

  3. #3
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Tu peux mettre un bouton dans un partial, mais il faut mettre un traitement dans l'action pour, suivant le bouton utilisé, lancer l'action adéquate.

    Encore que pour le genre de bouton, je me demande si tu n'aurais pas intérêt à travailler avec des liens plutôt qu'avec des boutons, et jouer sur les css pour l'affichage.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Par défaut
    Merci de ta réponse.

    J'ai pensé à mettre des liens aussi. Mais quand j'en ai parlé à mon maître de stage, il avait pas l'air très chaud...

    J'ai toujours le même problème : Quand je mets ce code dans mon partial _medaille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <h1 align="center">
    	<form method="post">
    		<input type="button" name="btn_<<" value="<<" /> 
    		<input type="button" name="btn_<" value="<" />
    		Médaille <?php echo $medaille; ?>
    		<input type="button" name="btn_>" value=">" />
    		<input type="button" name="btn_>>" value=">>" /> 
    	</form>
    </h1>
    Mais quand met ça dans mon executeIndex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	if( isset($_POST['btn_<<']) ) 
    		echo "<<";
    Ca ne change toujours rien, je n'ai rien de plus qui s'affiche.

    Quand je change
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" name="btn_<<" value="<<" />
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" name="btn_<<" value="<<" />
    Il me ramène seulement sur mon partial accueil.

    Voilà un bout de mon code simplifié de indexSuccess.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
    <div id="content">
     
    	<!-- 	MISE EN PLACE DU PARTIAL POUR LE CONTENT 
    		SI AUCUN BOUTON N EST APPUYE: PARTIAL _ACCUEIL
    		SI LE BOUTON SOUDEUSE ou FINITION EST APPUYE: ON REGARDE SI LES CHAMPS DU FORMULAIRE SONT REMPLIS
    	-->		
    	<?php 	
    		if( !(isset($_POST['btn_Soudeuse'])) && (!(isset($_POST['btn_Finition']))) ){
    			include_partial('accueil/accueil', array('last_medaille_soudeuse'=>$last_medaille_soudeuse) );
    		}
    		if( (isset($_POST['btn_Soudeuse'])) || (isset($_POST['btn_Finition'])) ){
    			if( ($_POST['soudure'] == "") && ($_POST['medaille'] != "") )
    				include_partial('accueil/medaille', array('first_medaille_finition'=>$first_medaille_finition));
    			else if ( ($_POST['soudure'] != "") && ($_POST['medaille'] != "") )
    				include_partial('accueil/soudure');
    			else
    				include_partial('accueil/accueil', array('last_medaille_soudeuse'=>$last_medaille_soudeuse));
                  }
    	?>
    </div>
    Je ne comprends pas comment faire pour rester sur mon partial médaille quand je clique sur << et juste changer la variable.

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Aie !

    C'est quant le code fait mal aux yeux

    J'y vois plein de $_POST qui est une chose "interdite" dans symfony.

    Symfony ce paye le travail de vérifier les paramètres, de les sécuriser, de les dé-échaper si nécessaire et te les met bien au chauds dans un objet sfWebRequest.

    Et toi, tu passes à travers tous se beau travail pour refaire la roue avec l'horrible $_POST...

    tu vas déclarer ton action de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public function executeMonAction(sfWebRequest $request)
    Pour tester, dans le contrôleur, un paramètre c'est $request->getParameters('paramNom' [, 'ValueDefaut']). Avec des options plus agréable que le $_POST...

    En général tu ne récupères pas tes données directement, mais tu les remoulines dans ton objet form qui te les vérifies, purifie et te retourne des validée et propre (voir les enregistres directement).

    Quant à tester la valeur de retour dans la couches visuel, c'est là qu'il faudrait avoir des boutons ! (). C'est le contrôleur qui doit vérifier les données retournée et préparer un array ou autre qui va guider le visuel pour son affichage.

    Là, tu n'utilises ni symfony, ni le MVC.

    Pour récupérer la valeur de tes boutons :
    $request->getParameters('submit') et il te retournera btn_>> ou les autres.

    Je ne suis pas maître de stage, mais je reste convaincu que ce type de renvoie devrait être retourné sous forme d'un lien et pas d'un bouton. Visuellement, les CSS devraient permettre un affichage correcte.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Par défaut
    OK merci, je vais regarder tout ça alors, essayer de remettre tout en ordre ...
    C'est gentil de me l'avoir signaler parce que j'ai laisser plusieurs post sur des forums et t'es la première à me le signaler .

    J'avoue j'ai du mal avec l'architecture MVC...

    Pour mon accueil, j'ai seulement une action : executeIndex

    Mais je veux qui suivant les boutons qui sont appuyé, il m'affiche des partials différents.
    Mais le include_partial ne marche pas dans le executeIndex. Donc je suis obligé de le faire depuis mon template nan ?

Discussions similaires

  1. Bouton inactif dans Leonardi
    Par malumiere dans le forum W4 Express
    Réponses: 2
    Dernier message: 05/12/2011, 16h25
  2. Bouton de tablette inactif dans le programme
    Par radjant1 dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 30/05/2011, 17h26
  3. Rendre un bouton de commande inactif dans un formulaire
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/08/2010, 13h39
  4. [A-07] Boutons inactifs dans tous formulaires
    Par xavsuderrone dans le forum IHM
    Réponses: 6
    Dernier message: 19/11/2008, 13h32
  5. Créer monprog.exe en gris (inactif) dans VB6
    Par Loyre dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/01/2005, 13h40

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