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 %}
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);