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

PHP & Base de données Discussion :

passage de variable de type array() d une page a une autre


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 38
    Par défaut passage de variable de type array() d une page a une autre
    petite question comment je px faire pour récupérer le contenu de ma variable qui ce trouve dans une 1er page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name="epreuve<?Php echo $Id_epr[$i]; ?>"
    ce qui me donne bien name="epreuve1" , name="epreuve2"...

    j essai avec une boucle for dans mon autre page avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $epreuve = $_POST["epreuve"];echo $texte;
    forcement ca me dit que la variable 'epreuve' existe pas
    j essai avec foreach avec ce code et ca me dit "Invalid argument supplied for foreach()" avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $epreuve = $_POST["epreuve"];
    foreach ($epreuve as $value) {
        echo "\$epreuve[$i] => $value.\n";
        $i++;}
    et si je fait un var_dump($_POST, $_GET) ca me donne bien mon array()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(6) { ["epreuve1"]=> string(1) "1" ["Nom"]=> string(4) "bob" ["Prenom"]=> string(7) "steve" ["POSTE5"]=> string(6) "POSTE5" ["epreuve2"]=> string(1) "2" ["valider"]=> string(7) "Valider" } array(0) { }
    en faite dans ma 1er page j affiche autant de fois une épreuve sur laquelle une personne c est inscrit avec $Id_epr[$i] afin de pouvoir faire des modifications sur une épreuve ou sur une autres, la personne peu s inscrire sur différentes épreuve.
    exemple toto c est inscrit sur 4 épreuves différentes donc ca va m afficher 1 fois toto sur l epreuve avec l id 1, une fois toto avec l épreuve avec l id2 etc etc.
    du coup si je modifie par exemple l épreuve avec l id3 il faudrait que ma requête update ce termine par Id_epreuve='3' mais la que je modifie la 1er ou la 3ieme ca me met Id_epreuve='1' a la fin de ma requête update.
    je pense que ca doit etre un truc tout bete mais je trouve pas

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 325
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 325
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name="epreuve<?Php echo $Id_epr[$i]; ?>"
    ce qui me donne bien name="epreuve1" , name="epreuve2"...
    Ce n'est pas une bonne pratique
    et la balise PHP est "<?php" et non "<?Php" (ou mieux "<?=" pour remplacer "<?php echo")

    Utilise un tableau :

    name="epreuves[]" value="<?= $i ?>"
    Et dans la page de destination tu auras un tableau $_POST['epreuves'] contenant les $i
    ($i à remplacer par la valeur que tu souhaites transmettre)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 38
    Par défaut
    bonjour
    j ai fait les petite modif indiqué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden"  name="epreuve[]" value="<?= $Id_epr; ?>">
    $Id_epr[$i] etant la valeur de mon champ Id
    le probleme c est que si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r($_POST['epreuve'])
    ca me renvoi bien mon tableau
    mais lorsque je fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $epr = print_r($_POST['epreuve']);
    echo $epr;
    dans ma page de traitement si je modifie la 1er épreuve le résultat est bon car l id est bien '1' mais si je modifie l épreuve qui a l id numéro 4 par exemple le résultat est toujours '1'

  4. #4
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Citation Envoyé par steph49 Voir le message
    mais lorsque je fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $epr = print_r($_POST['epreuve']);
    echo $epr;
    dans ma page de traitement si je modifie la 1er épreuve le résultat est bon car l id est bien '1' mais si je modifie l épreuve qui a l id numéro 4 par exemple le résultat est toujours '1'
    Ça c'est parce que tu utilises mal print_r().

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 38
    Par défaut
    c est bon j ai résolu mon problème en faite ce dernier était du principalement a la position de ma balise <form>
    en tout cas merci de vos réponse qui mon mis sur a voie
    je cloture

  6. #6
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Citation Envoyé par CosmoKnacki Voir le message
    Ça c'est parce que tu utilises mal print_r().

    Yep...print_r retournant un boolean (sauf si); ce sera toujours 1 comme valeur de retour.

    Voir la doc https://www.php.net/manual/en/function.print-r.php pour comprendre ce que voulait dire CosmoKnacki.

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 20/11/2015, 12h52
  2. Portée de variable de type Array dans une class
    Par oceanbigone dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/03/2013, 02h02
  3. Passage de variable de type array entre procédures événementielles
    Par Harry Covair dans le forum Général VBA
    Réponses: 1
    Dernier message: 16/07/2010, 13h43
  4. [XSLT] liste d'élements dans une variable de type array ?
    Par r-zo dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 15/01/2010, 09h16
  5. Definir une variable de type "array" ?
    Par Seb33300 dans le forum iReport
    Réponses: 2
    Dernier message: 01/12/2009, 15h28

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