Récupération valeurs checkBox PhpStorm

blobfish75 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
blobfish75 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


Bonjour,

Voila je rencontre un petit problème avec mon code. Je travaille avec PHPSTORM. J'ai fais une fiche HTML pour afficher des checkBox. Je ensuite fais un fonction PHP pour récuperer ce qui a été coché dans la checkBox. Cependant cela ne me retourne pas ce que j'ai coché.... Quelque pourrait m'aider ? Merci pour votre aide !

Voici ma fiche HTML:

<html xmlns="http://www.w3.org/1999/html">

<link rel="stylesheet" href="envoyerFiche.css" />
<form method="post" action="ficheNCController.php">
    <div id="listeChoixUser">
    <p>
        {% for user in listeUsers %}
            <label for="user-{{user.id}}">
                <input type="checkbox" id="user-{{user.id}}" name="listUser[]" value="{{user.id}}">
                {{user.lastname|upper}} {{user.firstname}}
            </label>
            <br/>
        {% endfor %}
    </p>
    </div>
    <button class="valid-user btn btn-succes" type="submit">
        <a href="{{path('userSelectionnes')}}">Valider</a>
    </button>

</form>

</html>


Voici ma fonction Php:
     public function userSelectionnes(){
         if(isset($_POST['listUser'])){ 

             foreach($_POST['listUser'] as $chkbx){

                 return new Response($chkbx); 

             }
         }
         return new Response('Aucun truc selectionné');
     }



Merci à tous pour vos réponses !

Configuration: Macintosh / Safari 12.1.2

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour
PHPSTORM est un IDE ....; tu serais sur notepad ça serait pareil...

Par contre, tu sembles utiliser un framework ou un cms ... lequel ?

Et puis.. tu fais un return dans ta boucle... donc il n'a pas le temps de la parcourir qu'il sort déjà de ta fonction.....

0
blobfish75 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, j'utilise le framework symfony :)
c'est vrai pour le return, je le sors de la boucle for et le met dans la boucle if mais j'obtiens toujours le même résultat...
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Si tu es en Symfony, interesse toi au "request"
https://symfony.com/doc/current/components/http_foundation.html

ça devrait donner un truc du genre
use Symfony\Component\HttpFoundation\Request;


/**
*
*/
public function userSelectionnes(Request $request){
    $chkbx=  $request->request->get('listUser');
    return new Response($chkbx);
}

0
blobfish75 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
J'ai mis ce que tu m'as envoyé code bout de code mais cela m'affiche toujours une page blanche et je ne comprends pas pourquoi car la chbx est censé prendre la valeur de listUser qui est le tableau dans lequel sont stockes les valeurs des checkbox cochées donc ça devrai marcher....
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > blobfish75 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Tu es en quelle version de symfony ?
Tu as déjà codé en symfony ?
Quel est le code complet de ton controller ?
As tu lu la doc du lien que je t'ai donné ?
Nb.. Une page blanche indique, en général, une erreur dans le code ( erreur 500 )
0
blobfish75 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai la version 4 de symfony, c'est la première fois que je code, j'ai regardé le lien mais ça ne m'a pas aidé à comprendre pourquoi cela ne marche pas puisque chbx est censé prendre la valeur de listUser qui est le tableau dans lequel sont stockes les valeurs des checkbox cochées donc ça devrai marcher...
J'ai rajouté un message au return pour vérifier si c'étaient les valeurs des checkBox qui n'étaient pas récupérées ou si toute la fonction ne marchait pas, j'ai mis
return new Response('les utilisateurs selectionnés sont: '.$chkbx);

et cela m'affiche "les utilisateurs sélectionnés sont: " donc le programme entre bien dans la fonction et renvoie bien le return. C'est la variable chbx qui n'a pas de valeurs...

Le code de mon controller (toutes les premiers fonctions marchent, celle sur laquelle e travaille en ce moment est la dernier, tout en bas):


<?php


namespace App\Controller;
use App\Entity\User;
use App\Entity\FicheNC;
use App\Form\envoyerFicheNCType;
use App\Form\ficheNCType;
use App\Form\testTitreType;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Persistence\ObjectManager;
use Doctrine\ORM\EntityRepository;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;

class ficheNCController extends AbstractController
{



/*Plusieurs fonctions qui marchent se trouvent avant celle-ci mais cela ferait un très long message*/


public function userSelectionnes(Request $request){
$chkbx= $request->request->get('listUser');
return new Response('les utilisateurs selectionnés sont: '.$chkbx);
}
}
0