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

Langage PHP Discussion :

Récupération de valeurs $_POST [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 185
    Par défaut Récupération de valeurs $_POST
    Bonjour à toutes et tous, et par avance merci de votre aide.
    Voici le code HTML(extrait):
    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
    <?php foreach($descriptions as $description): ?>
    			<div class="row">
    				<div class="col col-sm-1">
    					<label for="" class="control-label col-form-label-sm" >Ordre</label>  
    					<input id=""  type="text" class="form-control form-control-sm" value="<?= ($action==2 ? $description['ordre']: '' ); ?>" name="ordre[<?= $description['id_local'];  ?>]">
    				</div>
    				<div class="col col-sm-3">
    					<label for="" class="control-label col-form-label-sm" >Titre</label>  
    					<input id="" type="text" class="form-control form-control-sm" value="<?= ($action==2 ? $description['titre']: '' ); ?>" name="titre[<?= $description['id_local'];  ?>]">
    				</div>
     
    				<div class="col">
    					<label class="control-label col-form-label-sm" for="">Description</label>  
    					<textarea id="" class="form-control form-control-sm" rows="5" name="description[<?= $description['id_local'];  ?>]"><?= ($action==2 ? $description['description']: '' ); ?></textarea>
    				</div>
    				<div class="col col-sm-1">
    					<label for="" class="control-label col-form-label-sm">Supprimer</label>
    					<button type="submit" class="form-control form-control-sm btn btn-primary btn-sm" name="supprimer_description[<?= $description['id_local'];  ?>]" ><i class="fa fa-minus-square"></i></button>
    				</div>
    				<input type="hidden" name="id_local[]" value="<?= $description['id_local'];  ?>">
    			</div>
    			<?php endforeach; ?>
    et le traitement (extrait / sur une page distincte)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //Descriptions
    		if (isset($_POST['id_local']) && is_array($_POST['id_local'])) :
    			foreach($_POST['id_local'] as $id_local=>$element):
    				$options['ordre'.$element] = array('filter' => FILTER_VALIDATE_INT, 'options' => array('min_range' => 0 )) ; 				
    				$options['titre'.$element] = FILTER_SANITIZE_STRING ;				
    				$options['description'.$element] = FILTER_SANITIZE_STRING ;	
    			endforeach;
    		endif;
    $resultat = filter_input_array(INPUT_POST, $options);
    Et enfin le retour de var_dump($_POST)
    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
    43
    44
    ["ordre"]=>
      array(4) {
        [126]=>
        string(1) "1"
        [127]=>
        string(1) "2"
        [128]=>
        string(1) "3"
        [129]=>
        string(1) "4"
      }
      ["titre"]=>
      array(4) {
        [126]=>
        string(12) "Bâtiment BE"
        [127]=>
        string(11) "Communs TBE"
        [128]=>
        string(10) "Hôtel TBE"
        [129]=>
        string(7) "Travaux"
      }
      ["description"]=>
      array(4) {
        [126]=>
        string(218) "blablabla"
        [127]=>
        string(307) "blablabla"
        [128]=>
        string(334) "blablabla"
        [129]=>
        string(278) "blablabla."
      }
      ["id_local"]=>
      array(4) {
        [0]=>
        string(3) "126"
        [1]=>
        string(3) "127"
        [2]=>
        string(3) "128"
        [3]=>
        string(3) "129"
      }
    et celui de var_dump($resultat)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ["ordre126"]=> NULL ["titre126"]=> NULL ["description126"]=> NULL ["ordre127"]=> NULL ["titre127"]=> NULL ["description127"]=> NULL ["ordre128"]=> NULL ["titre128"]=> NULL ["description128"]=> NULL ["ordre129"]=> NULL ["titre129"]=> NULL ["description129"]=> NULL
    Donc, je ne comprends pas pourquoi j'obtiens NULL. J'ai essayé aussi $options['ordre['.$element].']] pour le même résultat. Un peu d'aide sera bienvenu.

  2. #2
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    je ne suis pas un expert, mais il me semble que par exemple, c'est la variable $_POST["ordre[126]"] qui devrait exister...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 185
    Par défaut
    Bonjour, merci de intéresser au sujet. en fait, je teste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if (isset($_POST['id_local']) && is_array($_POST['id_local'])) :
    et si id_local existe ordre existe aussi car ils sont issus de la même table...

    Je pense que c'est la valeur que j'envoie au filtre (ordre126 par exemple) qui fait planter mon script. Mais j'ai bien $_POST['ordre126'], $_POST['titre126'], $_POST['description126'] envoyés par le formulaire...

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    et que vaut $_POST["ordre"]["126"] ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 185
    Par défaut
    Oui tu as raison, je tope 1. mais avec le filtre j'obtiens soit NULL soit BOOL(false)
    Avec les filtres lorsque je veux tester $_POST['ordre'] : je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $options['ordre'] = array('filter' => FILTER_VALIDATE_INT, 'options' => array('min_range' => 0 )) ;
    La question est donc si je veux tester $_POST['ordre']['126'] Que dois je écrire?... je reprends le manuel ;-)

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 185
    Par défaut Tableau multidimentionnel et filtrage des valeurs récupérées.
    Bonjour,
    je relance le sujet, n'ayant pas trouvé la solution.

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

Discussions similaires

  1. Récupération des valeurs d'input dans iframe par $_POST
    Par corentinparent dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 26/11/2010, 19h43
  2. Mauvaise récupération des valeurs avec $_POST
    Par Trebor_ dans le forum Langage
    Réponses: 2
    Dernier message: 02/03/2008, 11h33
  3. Récupération de valeurs de Formulaire via $_POST
    Par GarGamel55 dans le forum Langage
    Réponses: 5
    Dernier message: 10/10/2005, 09h38
  4. récupération de valeur de lien
    Par sex-sansbol dans le forum ASP
    Réponses: 3
    Dernier message: 07/06/2004, 11h43
  5. Récupération de valeurs d'un tableau
    Par leeloo076 dans le forum ASP
    Réponses: 12
    Dernier message: 25/03/2004, 11h59

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