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 :

Variable unique pour plusieurs formulaires


Sujet :

Langage PHP

Vue hybride

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

    Informations professionnelles :
    Activité : Developpeur amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 34
    Par défaut Variable unique pour plusieurs formulaires
    Bonsoir,

    Je viens vers vous car je bloque sur des formulaires.
    J'ai un tableau généré lors de l'ouverture de la page avec les valeurs de ma BDD, donc avec un nombre de ligne variable. Pour chaque ligne, la dernière colonne contient un bouton "valider", et un bouton "Rejeter".
    Admettons qu'il y ai 5 lignes à mon tableau. J'aimerai pouvoir valider/rejeter une des lignes en cliquant sur le bouton correspondant.

    Voici le code pour construire le tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while ($uneligne = mysqli_fetch_row($result))
    {
    	print("<form action=protection.php method=post>");
    	print("<TR><TD>".$uneligne[0]."</TD><TD>".$uneligne[1]."</TD><TD>".$uneligne[2]."</TD><TD><input name=ident type=text value=".$uneligne[3]."></TD><TD><input type=submit name=valid".$uneligne[3]." value=Valider>------<input type=submit name=reject".$uneligne[3]." value=Rejeter></TD></TR>");
    	print("</form"); 
    }
    Et plus loin une fois que j'ai cliqué sur un des boutons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //validation ou rejet de l'inscription
    @$ident = $_POST[ident];
    echo $ident
    J'ai mis les".$uneligne[3]." dans les noms car j’espérai pouvoir récupérer ainsi le nom du bouton sur lequel j'ai cliqué. Mais je doute que ce soit la bonne méthode.
    Pouvez-vous m'aider svp?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu oublies de mettre des guillemets sur tes attributs.
    Tu peux utiliser une notation en tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="submit" name="reject['.$uneligne[3].']" value="Rejeter">';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($_POST['reject'] as $key=>$value) {
       echo $key;
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Developpeur amateur
    Inscrit en
    Juillet 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 34
    Par défaut
    Merci, mais ça ne fonctionne pas en l'état.
    Mettre les guillemets est-il vraiment utile ? Vu que ma page se génère correctement avec mon code, et les bouton prennent bien les noms "valid102" et "reject102" par exemple.

    Ensuite voici le message d'erreur obtenu pour le foreach :
    Warning: Invalid argument supplied for foreach() in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Loto\scripts\protection.php on line 63
    J'avoue que je n'ai pas bien compris l'utilisation du foreach. Il va parcourir chaque case du tableau ? Dans quel but ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Mettre les guillemets est-il vraiment utile ?
    oui

    Si tu fais
    tu obtiens quoi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Developpeur amateur
    Inscrit en
    Juillet 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 34
    Par défaut
    Voici ce que j'obtiens comme nom de bouton avec les guillemets :
    Alors qu'avec mon code initial j'obtiens pour la même ligne :
    Avec :
    J'ai :
    .array(2) { ["ident"]=> string(3) "108" ["reject"]=> array(1) { ["'.104.'"]=> string(7) "Rejeter" } }

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as mal intégré mon code.
    J'ai utilisé des guillemets simples pour le echo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="submit" name="reject['.$uneligne[3].']" value="Rejeter">';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations forums :
    Inscription : Juillet 2012
    Messages : 200
    Par défaut
    Bonjour à tous.
    @TabbHonmin
    Il me semble que tu n'utilises pas la bonne méthode. Pour chaque ligne du tableau, tu dois avoir deux formulaires. Un pour le bouton "Valider" et un autre pour le bouton "Rejete"
    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
     
    while ($uneligne = mysqli_fetch_row($result)) {
            print('<tr>');
            print('<TD>' . $uneligne[0]. '</TD>');
            print('<TD>' . $uneligne[1]. '</TD>');
            print('<TD>' . $uneligne[2]. '</TD>');
     
            /* Formulaire pour valider */
            print('<TD>';
    	print('<form action="protection.php" method="post">');
            print('<input type="hidden" name="do" value="valider"/>');
            print('<input type="hidden" name="key" value="' . $uneligne[3]. '"/>');
            print('<input type="submit" name="valider"/>');
    	print("</form");
            print('</TD>');
     
            /* Formulaire pour rejeter */
            print('<TD>';
    	print('<form action="protection.php" method="post">');
            print('<input type="hidden" name="do" value="rejeter"/>');
            print('<input type="hidden" name="key" value="' . $uneligne[3]. '"/>');
            print('<input type="submit" name="valider"/>');
    	print("</form");
            print('</TD>');
            print('</tr>');
    	}
    Sur la page protection.php, il te suffit de tester la valeur de $_POST['do'] et selon sa valeur tu valideras ou tu rejeteras la demande d'identifiant $_POST['key'];

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

Discussions similaires

  1. [XL-2007] Déclaration de variable pour plusieurs formulaires
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 24/07/2014, 11h38
  2. [VBA-E]une macro unique pour plusieurs fichiers excel
    Par fanchic29 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/04/2006, 17h20
  3. Un submit pour plusieurs formulaires
    Par beufa dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/11/2005, 16h51
  4. Comment utiliser la meme table pour plusieurs formulaires
    Par pacodelareunion dans le forum Access
    Réponses: 5
    Dernier message: 26/10/2005, 16h17
  5. variable globale pour plusieurs Form
    Par ced2004 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/04/2005, 09h50

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