Bonjour à tout, je fait un petit contrôleur pour récupérer des information en post, ici une date et les enregistrer en session. mais visiblement ça trouve pas mais donné en url. J'ai du oublier un petit truc.

Voici mon contrôleur

<?php
// src/Controller/FormController.php
namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Session\Session; 

class DateController extends AbstractController
{
    /**
     * @Route("/date", name="date")
     */

public function new(Request $request)
{
    $session = $request -> getSession(); 
    $mois = $session -> get('mois', [] ); 
    $session->set('mois',$mois);
    return $this->render('operation/date.html.twig',[]);
}
}

Voici ma vue

{% extends 'base.html.twig' %}

{% block title %}Hello EnrController!{% endblock %}

{% block body %}
 {% set mois =   23/02  %}

<div class="col-12 grid-margin stretch-card">
              <div class="card">
                <div class="card-body">
                  <h4 class="card-title">Basic form elements</h4>
                  <p class="card-description">
                    Basic form elements
                  </p>
                 <a href="{{ path('date', { 'mois': mois }) }}" class="btn btn-primary">Accueil</a>
                </div>
              </div>
            </div>

{% endblock %}

4 réponses


Donne un minimum d'indication car là ce n'est pas clair comme probleme

Tu ne decrait pas réucpérer ta valeur "mois" en paramètre ?

 /**
     * @Route("/date/{mois}", name="date")
     */
public function new(string $mois, Request $request)
{
    $session->getSession()->set('mois',$mois);
    return $this->render('operation/date.html.twig',[]);
}

Au moment ou tu essaue de récuéprer ta valeur, ta session est vide ? ou je n'ai pas tout

J'ai modifier mon controleur comme ci dessous et j'ai la date en session.
$session = $request -> getSession();
$mois = $request->query->get('mois');
$annee = $request->query->get('annee');
$date = ''.$annee.'-'.$mois.'';
$session->set('mois',$date);

Oui aussi, ton problème est résolu du coup ?