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 :

Faire une redirection et afficher un message après l'ajout à une base de donnée via un formulaire


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 27
    Par défaut Faire une redirection et afficher un message après l'ajout à une base de donnée via un formulaire
    Bonjour à tous.

    Voici enfin une question non spécifique à mon problème.

    J'ai un formulaire qui me permet d'ajouter des produits à ma table "products".

    Je souhaiterai être redirigé vers cette même page à chaque ajout tout en m'affichant un message comme quoi le produit a été ajouté.

    Toutefois je n'arrive pas à faire les deux, soit :
    - je suis redirigé sans indication :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $this->redirectToRoute('gererArticle');
    - je reçoit la réponse sur une page blanche et doit faire précédente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return new Response('Produit ajouté');
    Comment avoir les deux ? J'ai essayé de mettre ma Response au dessus du redirectToRoute ( en y sortant le return bien sur ).

    Merci à vous,

    Max

  2. #2
    Membre expérimenté
    Avatar de vinmar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Août 2012
    Messages : 139
    Par défaut
    Salut,

    Ce que tu veux faire c'est afficher un message une fois l'action terminée (réussie ou non). Il faut utiliser les "Flash Message", en gros stocker en session le message et l'afficher par la suite.

    https://knpuniversity.com/screencast.../flash-message

    Petite remarque : le titre de ton sujet fait vraiment peur... , n'utilises plus jamais popup et controller dans une même phrase

    A+

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 27
    Par défaut
    Salut,

    Çà marche j'avais pas vraiment d'inspi'.

    Je vais checker ça et je retournerai un résultat (ou pas) sur mon prochain post.

    Bonne journée,

    Max

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 27
    Par défaut
    Solution trouvée.

    Le code à mettre dans le controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                //FLASH MESSAGE FOR REDIRECTION
                $request
                    ->getSession()
                    ->getFlashBag()
                    ->add('ajoute', 'Le produit a bien été ajouté, vous pouvez en mettre un autre');
     
                return $this->redirectToRoute('gererArticle');
    Puis le code à mettre dans la vue ( dans un bloc twig évidemment ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        {% if app.session.flashBag.has('ajoute') %}
            <div class="alert alert-fail">
                {% for msg in app.session.flashBag.get('ajoute') %}
                    {{ msg }}
                {% endfor %}
            </div>
        {% endif %}
    La variable à mettre ( ici ajoute ) est la même que celle du controller.

    Merci à toi,

    Max

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

Discussions similaires

  1. ouvrir un ficher a partir de son chemin
    Par Msysteme dans le forum C#
    Réponses: 4
    Dernier message: 24/03/2015, 21h13
  2. ouvrir une pop up à partir d'un checkbox
    Par paillon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/07/2013, 14h56
  3. Réponses: 1
    Dernier message: 25/09/2010, 17h24
  4. [FLASH 8] Ouvrir POP-UP à partir d'un CDROM
    Par phil_lihp dans le forum Intégration
    Réponses: 1
    Dernier message: 06/05/2006, 06h23
  5. Ouvrir un dossier à partir de son chemin
    Par Mr.Gus dans le forum Access
    Réponses: 2
    Dernier message: 13/06/2005, 13h59

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