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 :

Url après une redirection


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2020
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2020
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Url après une redirection
    Bonjour la communauté !

    Alors voici mon problème. Je suis sur un de mes roadtrip et je veux laisser un commentaire alors je clic dessus, je rempli le formulaire et je suis redirigé vers le show du roadtrip sur lequel j'ai laissé mon commentaire jusque là tout va bien.

    Sauf que une fois sur mon roadtrip l'url affiché est celui de mon formulaire.... et si j'actualise le commentaire que j'avais rentré avant dans le formulaire se rajoute à chaque fois.

    Si quelqu'un a un idée du problème car je sèche là

    Nom : Problème url.png
Affichages : 458
Taille : 1,52 Mo

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    que veux-tu qu'on fasse d'une copie d'écran, sans le moindre commentaire ni explication du code ?
    Et sans le code (nécessaire et suffisant), à copier-coller dans le contenu du message, entre balises [CODE][/CODE] (icône # du menu)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2020
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2020
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Je reformule

    Le code dans mon controller de ma vue qui affiche mon roadtrip et dans celui j'affiche tous les commentaires lié à ce roadtrip.

    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
    /**
         * @Route("/roadtrip/{id}", name="roadtrip_show", requirements={"id":"\d+"}, methods={"GET"})
         * 
         */
        // Grace au ParamConverter et à l'id de l'annotation il me suffit de mettre Roadtrip $roadtrip pour trouver le roadtrip de l'id correspondant.
        public function showRoadtrip(Roadtrip $roadtrip, CommentRepository $commentRepository, $id = "pas d'id")
        {
     
            $commentofroadtrip = $commentRepository->descAll(10);
     
            //dd($commentofroadtrip);
     
            return $this->render('roadtrip/show.html.twig', [
                'roadtrip' => $roadtrip,
                'comment' => $commentofroadtrip,
                'id' => $id
            ]);
    Ma vu twig qui affiche show

    Code twig : 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
    {% extends 'base.html.twig' %}
     
    {% block body %}
     
    <h1>Roadtrip :</h1>
     
    <div style="display: flex; flex-wrap: wrap;">
            <div class="col-4" style="height:400px;" class="maps-flex">
                <ul>
                    <li> {{ roadtrip.title }} </li>
                    <li> {{ roadtrip.description }} </li>
                    <li> {{ roadtrip.startCity }} </li>
                    <li> {{ roadtrip.stepCity }} </li>
                    <li> {{ roadtrip.endCity }} </li>
                    <li> {{ roadtrip.hotel }} </li>
                    <li> {{ roadtrip.restaurant }} </li>
                    <li> {{ roadtrip.service }} </li>
                    <li> {{ roadtrip.activity }} </li>
                    <li> {{ roadtrip.other }} </li>
                    <li> {{ roadtrip.travelDuration }} </li>
                    <li> {{ roadtrip.startDate  | date("d/m/Y") }} </li>
                    <li> {{ roadtrip.endDate  | date("d/m/Y") }} </li>
                </ul>
            </div>
     
        <div class="col-6">
    {# Ici je devrais mettre une image de l'itinéraire #}
            <img style="height:100%;" class="roadtrip_picture" src="{{ asset('pictures/maps.jpg') }}" alt="Carte exemple d'un roadtrip">
        </div>
    </div>
     
    {% if app.user %}
     
    <div class="margin_bottom"><a href="{{path('roadtrip_newcomment', {'id' : roadtrip.id})}}"><button>Laissez un commentaire</button></a></div>
     
    {% endif %}
     
    {# J'affiche les roadtrips par order drecroissant avec le reverse #}
     
    {% for comment  in roadtrip.comment | reverse %}
     
    <div class="alert alert-dismissible alert-light" style="border-radius: 20px;">
    {# Juste avant le pseudo il faudrait que je mette une miniature de l'avatar de l'utilisateur #}
    <div><img class="img_miniature" style="padding-right: 1em;" src="{{ asset('uploads/pictures/')}}{{comment.user.picture}}">Posté par {{ comment.user.username }} le <span style="font-size: smaller;"> {{ comment.createdAt | date("Y-m-d H:i:s") }}</span></div>
    {# <hr style="border-top:1px dotted;"> #}
    <div> {{ comment.comment }}</div>
    </div>
     
    {% endfor %}
     
    {% endblock %}

    Donc en cliquant laissez un commentaire ça m'envoi sur cette vue vers ce code.

    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
        /**
         * @Route("/roadtrip/{id}/newcomment", name="roadtrip_newcomment", methods={"GET","POST"})
         */
        public function newRoadtripComment(Request $request, RoadtripRepository $roadtriprepository, CommentRepository $commentRepository, $id)
        {
     
            $roadtrip = $roadtriprepository->find($id);
     
            //dd($roadtrip);
     
            $user = $this->getUser();
     
            //dd($user);
     
            //$roadtrip = $this->getRoadtrip($id);
     
            //dd($roadtrip);
     
            $comment = new Comment();
            $form = $this->createForm(CommentFormType::class, $comment);
            $comment->setRoadtrip($roadtrip);
            $comment->setUser($user);
            $comment->setCreatedAt(new DateTime());
            $form->handleRequest($request);
     
            if ($form->isSubmitted() && $form->isValid()) {
     
                $commentofroadtrip = $commentRepository->descAll(10);
     
                //dd($commentofroadtrip);
     
                $entityManager = $this->getDoctrine()->getManager();
                $entityManager->persist($comment);
                $entityManager->persist($user);
                $entityManager->flush();
     
                return $this->render('roadtrip/show.html.twig', [
                    'roadtrip' => $roadtrip,
                    'comment' => $commentofroadtrip
                ]);
     
            }
    Qui affiche mon formulaire dans le twig si dessous

    Code twig : 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
    {% extends 'base.html.twig' %}
     
    {% block body %}
        <h1>Modification roadtrip n°{{id}}</h1>
    <div class = "form-group">
        {{ form_start(editRoadtripForm) }}
            <div > {{ form_row(editRoadtripForm.title) }} </div>
            <div > {{ form_row(editRoadtripForm.description) }} </div>
            <div > {{ form_row(editRoadtripForm.start_city) }} </div>
            <div > {{ form_row(editRoadtripForm.step_city) }} </div>
            <div > {{ form_row(editRoadtripForm.end_city) }} </div>
            <div > {{ form_row(editRoadtripForm.hotel) }} </div>
            <div > {{ form_row(editRoadtripForm.restaurant) }} </div>
            <div > {{ form_row(editRoadtripForm.service) }} </div>
            <div > {{ form_row(editRoadtripForm.activity) }} </div>
            <div > {{ form_row(editRoadtripForm.other) }} </div>
            <div > {{ form_row(editRoadtripForm.travel_duration) }} </div>
            <div > {{ form_row(editRoadtripForm.start_date) }} </div>
            <div > {{ form_row(editRoadtripForm.end_date) }} </div>
     
            <button class="btn btn-md btn-success">Cliquez ici pour appliquer la modification</button>
     
        {{ form_end(editRoadtripForm) }}
     
        <a href=""></a><button class="close"> Supprimer le roadtrip</button>
     
    {% endblock %}

    Une fois submit je suis redirigé vers roadtrip_show avec le nouveau commentaire (jusque là tout va bien) sauf que l'url est l'url de roadtrip_newcomment ( http://127.0.0.1:8000/roadtrip/10/newcomment alors qu'il devrait être http://127.0.0.1:8000/roadtrip/10 ) et je comprends pas pourquoi.

    J'espère avoir donné assez de d'information.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2020
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2020
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Problème résolu !

    J'ai mis un render dans newcomment au lieu d'un redirectToRoute après validation du formulaire....

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

Discussions similaires

  1. Ne pas changer l'url dans une redirection de domaine
    Par Space23 dans le forum Domaines
    Réponses: 0
    Dernier message: 17/01/2010, 10h17
  2. Lire l'URL après une redirection ?
    Par victorcouste dans le forum Langage
    Réponses: 6
    Dernier message: 22/08/2008, 17h27
  3. récupérer les valeurs POST après une redirection
    Par mioke dans le forum Langage
    Réponses: 2
    Dernier message: 22/05/2008, 11h12
  4. Récupérer le tableau $_POST aprés une redirection
    Par tintin72 dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2008, 09h37
  5. Variables qui disparaissent aprés une redirection
    Par xclam dans le forum Langage
    Réponses: 2
    Dernier message: 22/09/2007, 11h38

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