Problème boucle

Résolu/Fermé
dev_82 Messages postés 45 Date d'inscription mercredi 24 juillet 2019 Statut Membre Dernière intervention 14 mai 2020 - 1 août 2019 à 16:51
dev_82 Messages postés 45 Date d'inscription mercredi 24 juillet 2019 Statut Membre Dernière intervention 14 mai 2020 - 1 août 2019 à 19:01
Bonjour,
Mon problème est que je n'arrive pas à afficher un message avec ma page html.twig en fonction de ce qu'il se passe dans un fichier php. En effet, je cherche à afficher un message et cela dans une boucle if donc si la condition est vraie, le message s'affiche mais c'est juste que je n'arrive pas à trouver de moyen afin de récupérer la variable sur laquelle la condition est basée. En effet, j'ai une erreur comme quoi la variable n'est pas reconnu mais c'est parce que j'utilise la variable que dans une boucle. Sinon, la condition est juste.
Voici le code php :

if($extension == 'csv') {
        			return new Response("TEST CSV");
        		}
        		else{
        			return new Response("TEST PAS CSV");
        		}

2 réponses

jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
1 août 2019 à 17:00
Bonjour,

Déjà un peu de vocabulaire....
dans une boucle if

ce n'est pas une BOUCLE ... mais un BLOC
Un "boucle" sert à "boucler" ... tel que le FOR , le WHILE ... le FOREACH...
un IF est un BLOC CONDITIONNEL qui sert à tester une "condition".


En effet, j'ai une erreur comme quoi la variable n'est pas reconnu

Quel est le message d'erreur Exact ?
De quelle variable est-il question ? "$extension" ? Si oui... où est-elle initialisée ? Avec quel code ?




0
dev_82 Messages postés 45 Date d'inscription mercredi 24 juillet 2019 Statut Membre Dernière intervention 14 mai 2020
Modifié le 1 août 2019 à 17:19
Salut,
Merci de me répondre.
Et oui, tu as raison, c'est bien $extension mais la variable est initialisée dans un bloc donc elle n'est pas reconnue.
public function Extension(GetRepository $gR, Request $request)
    {
     $upload = new Upload();
     $annee = $gR->GetAnnee();
     $form=$this->createForm(ImportationMajType::class, $upload);
        $form->handleRequest($request);
        if($form->isSubmitted() && $form->isValid()) {
         $file = $upload->getName();
         //dd($file);
         if($file) {
          $extension = pathinfo($file->getClientOriginalName(), PATHINFO_EXTENSION);
          if($extension == 'csv') {
           return new Response("TEST CSV");
          }
          else{
           return new Response("TEST PAS CSV");
          }
         }
         //dd($extension);
        }

     return $this->render('mise_a_jour/index.html.twig', [
            'form' => $form->createView(),
            'annee' => $annee,
            'test' => $extension
        ]);
    }
0
dev_82 Messages postés 45 Date d'inscription mercredi 24 juillet 2019 Statut Membre Dernière intervention 14 mai 2020
1 août 2019 à 17:06
Et la c'est ce que je cherche à faire dans le fichier html.twig :
{% if test %}
	<p class="info_erreur">Vous ne pouvez charger qu'un fichier de type csv </p>
	{% else %}
	<p>Le fichier a été importé avec succès</p>
	{% endif %}
0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
1 août 2019 à 18:23
Il te suffit donc d'initialiser ta variable au début de ton code....
par exemple
public function Extension(GetRepository $gR, Request $request)
{
     $extension = NULL;
     $upload = new Upload();
     $annee = $gR->GetAnnee();
     $form=$this->createForm(ImportationMajType::class, $upload);
        $form->handleRequest($request);
        if($form->isSubmitted() && $form->isValid()) {
           $file = $upload->getName();
           //dd($file);
           if($file) {
             $extension = pathinfo($file->getClientOriginalName(), PATHINFO_EXTENSION);
             if($extension == 'csv') {
               return new Response("TEST CSV");
           } else{
              return new Response("TEST PAS CSV");
           }
         }
         //dd($extension);
      }

    return $this->render('mise_a_jour/index.html.twig', [
            'form' => $form->createView(),
            'annee' => $annee,
            'test' => $extension
       ]);
    }

0
dev_82 Messages postés 45 Date d'inscription mercredi 24 juillet 2019 Statut Membre Dernière intervention 14 mai 2020
1 août 2019 à 18:36
Ah oui excuse moi, j'ai tellement honte de moi (pourquoi faire quelque chose de compliqué quand on peut faire simple).
Merci beaucoup pour la réponse.
Le problème est donc résolu.
0
jordane45 Messages postés 38142 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649 > dev_82 Messages postés 45 Date d'inscription mercredi 24 juillet 2019 Statut Membre Dernière intervention 14 mai 2020
1 août 2019 à 18:51
0
dev_82 Messages postés 45 Date d'inscription mercredi 24 juillet 2019 Statut Membre Dernière intervention 14 mai 2020
1 août 2019 à 19:01
D'accord pas de soucis.
0