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 :

[Conception] Problème avec formulaire


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut [Conception] Problème avec formulaire
    Dans mon formulaire je lé nommé comme cela:
    <form name="monform" action="effacerviacheckbox.php" method="post">

    quand je clique sur le bouton submit sa me renvoie à effacerviacheckbox.
    mais dans mon cas j'en ai 2 submit .
    un pour effacer et un pour confirmer.

    Comment dois-je arranger mon code pour que cela puisse fonctionner avec les checkbox et les confirmations?

    Merci

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Le bouton pour effacer il fait des suppressions en base ou il réinitialise juste ton formulaire ?

  3. #3
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    j'ai pas trop compris ce que tu voulais.

  4. #4
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Il faut que tu nommes bien comme il faut tes boutons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="submit" name="annuler" value="Annuler">
    <input type="submit" name="confirmer" value="Confirmer">
    Et ensuite dans le PHP tu regardes lequel a une valeur comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(!empty($_POST['annuler']))
    {
      // Code en cas d'annulation
    }
     
    if(!empty($_POST['confirmer']))
    {
      // Code en cas de confirmation
    }
    Mais bon après comme les autres je ne suis pas sur d'avoir compris ton problème comme il faut donc j'espere que c'est ça

  5. #5
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Et pour effacer juste le formulaire suffit de faire un bouton <INPUT TYPE="reset"> je crois...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    C'est exactement ce que je souhaite mais quand je supprime cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="monform" action="effacerviacheckbox.php" method="post">
    les submit ne marchent plus.
    Alors comment faire??

    J'ai essayer de faire comme sa:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="submit" name="annuler" value="annuler" action="effacerviacheckbox.php">
    <input type="submit" name="confirmer" value="confirmer" action="effacerviacheckbox.php">
    merci

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Je vous montre comment est organiser mon code que j'ai abrégé:
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    ? include("connect.inc") ?>
    <html>
    <link rel="stylesheet" href="sitebn.css" type="text/css">
    <head>
    <body>
    <META HTTP-EQUIV="Refresh" CONTENT="15";>
    <script>code javascript pour les cases à cocher</script>
     
    <center><font color='red'><h1><i>Liste des réservations et gestion de la base de donnée</i></h1></center>
     
    <a href="touteffacer.php"><br><font color='yellow'>Cliquez ici pour effacer toutes les réservations de votre liste</a></font></p>
     
    <table class="frm" align="center">
    <tr>mon tableau en html<tr>
     
     
     
    <?
     
    $resultat = mysql_query("ma requête sql");//tous les champs de ma base de donnée pour une réservation auquel on n'appelle
    while($ligne= mysql_fetch_object($resultat))
    {
     
    	echo "<tr onclick=\ onmouseover=\"this.className='over'\" onmouseout=\"this.className='out'\" class=\"out\">
    	<td><font color='yellow'><center>$ligne->id</center></font></td>
    	<td><font color='yellow'><center>$ligne->grade</center></font></td>
    	<td><font color='yellow'><center>$ligne->nom</center></font></td>
    	<td><font color='yellow'><center>$ligne->prenom</center></font></td>
    	<td><font color='yellow'><center>$ligne->telephone</center></font></td>
    	<td><font color='yellow'><center>$ligne->motif</center></font></td>
    	<td><font color='yellow'>$ligne->day</font></td>
    	<td><font color='yellow'>$ligne->month</font></td>
    	<td><font color='yellow'>$ligne->year</font></td>
    	<td><font color='yellow'><right>$ligne->heuredebut</right></font></td>
    	<td><font color='yellow'><left>$ligne->minutesdebut</left></font></td>
    	<td><font color='yellow'>$ligne->heurefin</font></td>
    	<td><font color='yellow'>$ligne->minutesfin</font></td>
    	<td><CENTER><INPUT TYPE='checkbox' class='mesCoches' value='$ligne->id' name='choix[]'/></CENTER></td>
    	<td><CENTER><INPUT TYPE='checkbox' value='$ligne->id' name='choix[]'</CENTER></td></tr>";
    }
     
    ?>
     
    </table>
    <?php
    if(!empty($_POST['annuler']))
    {
      echo ('<input type="submit" name="annuler" value="annuler" action="effacerviacheckbox.php"')>
    }
     
    if(!empty($_POST['confirmer']))
    {
      echo ('<input type="submit" name="annuler" value="annuler" action="confirmation.php"')>
    }
    ?>
    </head>
    </body>
    </form>
    </html>

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    J'ai repris la fin il y avait des erreurs:
    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
    ?>
     
    </table>
    <input type="submit" name="annuler" value="annuler">
    <input type="submit" name="confirmer" value="confirmer">
    <?php
    if(!empty($_POST['annuler']))
    {
      echo ('<input type="submit" name="annuler" value="annuler" action="effacerviacheckbox.php">');
    }
     
    if(!empty($_POST['confirmer']))
    {
      echo ('<input type="submit" name="confirmer" value="confirmer" action="confirmation.php">');
    }
    ?>

  9. #9
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Je crois que tu n'as pas bien compris le principe de la solution proposée par Sylvain. Tu as juste à modifier légèrement ton code de départ, pas à tou changer. Tu dois laisser ta balise FORM sinon pas de forumlaire.


    C'est exactement ce que je souhaite
    On t'a montré deux versions alors c'est laquelle que tu "souhaites" ??? (suppression en base ou simple réinitialisation de forumulaire).

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Je sais j'ai aps fais gaffe je lé rajouter il n'y a pas longtemps:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <form name="monform" action="effacerviacheckbox.php" method="post">
    <form name="monform1" action="confirmation.php" method="post">
    mais sa ne marche pas .
    Si je met en le code juste en haut, que j'appuie sur le bouton annuler ou confirmer sa marche mais rien n'est pris en compte.
    si je les enlève, quand j'appuie sur les 2 boutons rien ne marche.

    Je ne voie pas ou est l'erreur.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    sinon je me trompe dans le code en cas d'annulation ou de confirmation de mon php j'ai essayé sa aussi mais sa ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    if(!empty($_POST['annuler']))
    {
      echo ('<form name="monform" action="effacerviacheckbox.php" method="post">');
    }
     
    if(!empty($_POST['confirmer']))
    {
      echo ('<form name="monform1" action="confirmation.php" method="post">');
    }
    ?>

  12. #12
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Je répète :


    On t'a montré deux versions alors c'est laquelle que tu "souhaites" ??? (suppression en base ou simple réinitialisation de formulaire).

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Comme j'ai dis dans le premier message:
    mais dans mon cas j'ai 2 submit .
    un pour effacer et un pour confirmer.

    Donc il faut que j'ai la possibilité d'effacer et de confirmer mes checkbox avec de bouton different.
    Pour une idée voici la forme de mon tableau:
    http://snakejl.free.fr/tableau.jpg

    voilà

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Comme j'ai dis dans le premier message:
    mais dans mon cas j'ai 2 submit .
    un pour effacer et un pour confirmer.

    Donc il faut que j'ai la possibilité d'effacer et de confirmer mes checkbox avec de bouton different.
    Pour une idée voici la forme de mon tableau:
    http://snakejl.free.fr/tableau.jpg

    voilà merci

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Comme j'ai dis dans le premier message:
    mais dans mon cas j'ai 2 submit .
    un pour effacer et un pour confirmer.

    Donc il faut que j'ai la possibilité d'effacer et de confirmer mes checkbox avec de bouton different.
    Pour une idée voici la forme de mon tableau:
    http://snakejl.free.fr/tableau.jpg

    voilà merci

  16. #16
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est toujours pas super clair, je comprends que tu veux tout simplement annuler les choix de l'utilisateur (ce qui revient à réinitialiser ton formulaire), pour cela je t'ai déjà répondu il faut que le bouton annuler soit de type RESET au lieu de SUBMIT.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    Je vais essayer d'expliquer tout en détail:
    J'ai une base de donnée pour table roulage et champ tous les informations dans le tableau.
    Qaund une personne reserve tout s'affiche dans le tableau.

    Une autre personne à distance va gérer les reservations:
    Elle aura pour but d'effacer les réservations et/ou de confirmer les reservations via les checkbox.

    Donc au niveau du code je me retrouve avec 2 form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form name="monform" action="effacerviacheckbox.php" method="post">
    <form name="monform1" action="confirmation.php" method="post">
    initialiser tout 2 avant le tableau.

    En phase de test , je teste avec un seul form avec effacerviacheckbox donc sa marche très bien.
    Puis ensuite quand je me mété à bosser sur les confirmations, donc en phase de test,sa marche très bien.

    Donc je me retrouve avec 2 form.
    Une fois les 2 form mis, plus rien ne marche.

    D'après vos réponse la réponse de sylvain m'a paru plus correct et plus logique.
    Donc j'ai fais ce qu'il a dit (au bout de la 3eme fois lol).
    Mais sa ne marche pas.
    Mon code marche quand j'ai seulement 1 form.

    Meme avec le bouton reset cela ne fonctionne pas.

    Je pense que j'ai été clair

  18. #18
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Ca semble un peu plus clair (au final je comprends que quand tu parles d'annulation ça entraîne bien des modifications dans ta BDD)...

    En relisant tes réponses suite au message de Sylvain (qui t'as bien tout expliqué pourtant soit dit au passage...) je vois que tu t'emmêles complètement les pinceaux.

    Reprenons.

    Tu as UN SEUL forumlaire.

    Comme le dit Sylvain, tu dois renommer tes boutons de confirmation et annulation comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="submit" name="annuler" value="annuler">
    <input type="submit" name="confirmer" value="confirmer">
    Ensuite dans la page de traitement qui est appelée (que tu définis dans le champ ACTION de ton FORM), tu récupères le choix de l'uilisateur (confirmation ou annulation) en faisant comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(!empty($_POST['annuler']))
    {
      // Code en cas d'annulation
    }
     
    if(!empty($_POST['confirmer']))
    {
      // Code en cas de confirmation
    }
    Si tu n'as pas compris on ne peut malheureusement plus grand chose pour toi je crois, tout a été dit et redit maintenant. Bon courage.

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Points : 56
    Points
    56
    Par défaut
    J'ai parfaitement compris mais il y a erreur.
    J'ai un seul formulaire ,mon formulaire s'appelle tableau.php
    Donc il y a 2 possibilités:
    Si je supprime viachecbox cela va ,me supprimé ce que j'ai souhaité, quand j'appuie sur le bouton supprimé sa m'emmène vers la page effacerviacheckbox.php.
    Et pour cela j'ai rajouté ce code au debut de mon code pour que sa marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form name="monform" action="effacerviacheckbox.php" method="post">
    Mais il n'y a pas que le bouton ne me renvoie pas sur 1 seul page, chaque bouton à sa page.
    Pour effacer les checbox sa va vers effacerviacheckbox.php
    Mais pour les confirmations quand je clique sa dois m'emener vers la page
    confirmation.php qui met à jour mon tableauconfirmation.php.

    Au début de mon form j'ai sa:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form name="monform" action="effacerviacheckbox.php" method="post">
    <form name="monform1" action="confirmation.php" method="post">
    Il va prendre en compte effacervia checbox.php .
    et si je met comme sa:
    [code]<form name="monform1" action="confirmation.php" method="post">[/<form name="monform" action="effacerviacheckbox.php" method="post">
    code]
    Il va prendre en compte confirmation.php en premier mais je ne peux pas me servir du dexième form

    Mon but est quand je clique sur tel bouton sa m'envoie sur tel page.

    Si vraiment tu ne voie pas ce que je veux dire je t'envoie tous mes fichiers et tu fais un test, mais je pense qu'on peux s'arranger comme sa.

    merci

  20. #20
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Ah mais non tu as deux possibilités :

    - Soit tu mets les traitements de tes deux fichiers (effacerviacheckbox et l'autre) dans un seul et même fichier que ton formulaire appelle (comme l'idée de Sylvain)

    - Soit ton formulaire appelle une page de traitement, traitement.php, et dans cette page tu testes si l'utilisateur veut l'annulation ou la confirmation comme l'a montré Sylvain, et là tu rediriges vers la bonne page de traitement (effacerviacheckbox ou l'autre, voir FAQ - header).

    Un formulaire appelle une seule page PHP, ou alors ça peut aussi se faire avec du JavaScript mais c'est plus chiant (enfin je trouve).

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Conception] Problème avec INSERT dans une TABLE
    Par dunbar dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 20/07/2006, 12h56
  2. [Conception] Problème avec l'écriture dans une BDD [Script de news]
    Par NeuroGen dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/07/2006, 19h08
  3. [Conception]Problèmes avec un constructeur dérivé
    Par Le Furet dans le forum Langage
    Réponses: 6
    Dernier message: 10/03/2006, 09h44
  4. problème avec formulaire et sous formulaire
    Par Lnjam dans le forum Access
    Réponses: 2
    Dernier message: 28/01/2006, 17h52
  5. problème avec formulaire et BDD
    Par pmboutteau dans le forum ASP
    Réponses: 1
    Dernier message: 24/08/2005, 10h56

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