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. #21
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Par défaut
    je vais essayer les 2 solutions comme sa j'apprends:
    la premiere solution, je met tout en un seul et meme fichier.
    essaye de me donné la syntaxe s'il te plait.

    ensuite pour header je sais le faire car un moment donné j'ai cré une page avec des logins etc.

    Mais la j'ai envi de faire la première solution.
    merci, on n'avance

  2. #22
    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
    Par défaut
    C'est pas sorcier...

    Tu reprends ce qu'avait donné Sylvain

    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
    }
    Et à la place de "Code en cas d'annulation" tu as juste à recopier le contenu de ton fichier "effacerviacheckboxes.php" et je te laisse deviner ce qu'il faut faire pour le cas de la confirmation...


  3. #23
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Par défaut
    je teste avec effacerviachecbox.Mais j'ai enlevé le form de effacerviacheckbox.php mais j'ai laisse le for de confirmation.php .

    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
    </p><input type="submit" NAME="annuler" value="annuler"></p>
    </p><input type="submit" NAME="confirmer" value="Envoyer"></p>
    <?php
    if(!empty($_POST['annuler']))
    {
     $bdd="bntoulon";//connection à la base de donnée bntoulon
     mysql_connect("localhost","root","");//utilisateur root et aucun mot de passe défni
     mysql_select_db($bdd);
     
    //code pour effacer toutes les informations des personnes sélectionnées
    if(isset($_POST['submit']))
        {
              $id=$_POST['choix'];  
              for ($i = 0; $i < count($id); $i++)
                 {
                      $req = "DELETE FROM roulage WHERE id  = '$id[$i]'";
                     mysql_query ($req) or die(mysql_error());
                 }
        }
    }
     
    ?>
    Quand je clique sur le bouton sa m'emmene toujours vers confirmation.php.
    C'est la galère.

    merci de m'aiguiller.

  4. #24
    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
    Par défaut
    Tu m'as l'air complètement paumé sur le système de fonctionnement des formulaires...

    Tu fais le traitement dans le même fichier PHP que celui qui contient ton formulaire c'est bien ce que tu veux ?

    Sinon balance tout le code de ta page parce que j'ai des gros doutes là, on va essayer d'y arriver mais c'est pas gagné j'avoue que je commence à désespérer...

  5. #25
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Par défaut
    Mais je fais ce que tu m'as dis:
    Et à la place de "Code en cas d'annulation" tu as juste à recopier le contenu de ton fichier "effacerviacheckboxes.php" et je te laisse deviner ce qu'il faut faire pour le cas de la confirmation...

    franchement je pense faire tout bien , je ne suis pas paumé,il y a difficulté de compréhension entre nous,mais sa vient.
    le seul truc ou je suis un peu paumé c'est que je ne comprend pas pourquoi sa marche pas,sachant que je fais tout ce qu'il faut et je comprend ce qu'il faut faire,mais voilà...sa foire lol

  6. #26
    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
    Par défaut
    Je répète....

    Tu fais le traitement dans le même fichier PHP que celui qui contient ton formulaire c'est bien ce que tu veux ?

    balance tout le code de ta page

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Par défaut
    je te donne tout:
    Le fichier tableau.php:
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    <? include("connect.inc") ?>
    <html>
    <link rel="stylesheet" href="sitebn.css" type="text/css">
    <head>
    <body>
    <META HTTP-EQUIV="Refresh" CONTENT="15";>
    <script>//codedébut1 javascript pour cocher ou décocher des cases
    function majcheckbox(master, className) { 
    	var liste = document.getElementsByTagName('input'); 
    	for(var i=0; i<liste.length; i++) { 
    		if (liste[i].className == className) { 
    			liste[i].checked = master.checked; 
    		} 
    	} 
    }
     
    function switchcheckbox(master, className) { 
    	var liste = document.getElementsByTagName('input'); 
    	for(var i=0; i<liste.length; i++) { 
    		if (liste[i].className == className) { 
    			liste[i].checked = !liste[i].checked; 
    		} 
    	} 
    }
     
    //codefin1 javascript pour cocher ou décocher des cases</script>
     
     
    <form name="monform" action="confirmation.php" method="post">
    ****ici si je met confirmation ou effacer via checkbox ,sa va etre le premier qui va etre pris en compte, si je clique sur les 2 submit*********
     
    <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><th bgcolor='#99CCFF' width="1%">Numéro</th><th bgcolor='#99CCFF' width="3%">Grade</th><th bgcolor='#99CCFF' width="15%">Nom</th><th bgcolor='#99CCFF' width="15%">Prénom</th><th bgcolor='#99CCFF' width="5%">Téléphone</th><th bgcolor='#99CCFF' width="20%">Motif</th><th bgcolor='#99CCFF' width="2%">Jour</th><th bgcolor='#99CCFF' width="2%">Mois</th><th bgcolor='#99CCFF' width="4%">Année</th><th bgcolor='#99CCFF' width="3%">Heure début</th><th bgcolor='#99CCFF' width="2%">Minutes début</th><th bgcolor='#99CCFF' width="3%">Heure fin</th><th bgcolor='#99CCFF' width="3%">Minutes fin</th><th bgcolor='#99CCFF' width="10%">Tout sélectionner<CENTER><input type="checkbox" name="all" id="Master" onclick="majcheckbox(this, 'mesCoches');"//définir le checkbox maître></CENTER></th><th bgcolor='#99CCFF' width="2%">Confirmation</th></tr>
     
     
     
    <?
     
    $resultat = mysql_query("select `id` , `grade` , `nom` , `prenom` , `telephone` , `motif` , `day` , `month` , `year` , `heuredebut` , `minutesdebut` , `heurefin` , `minutesfin` from roulage");//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>
    </head>
    </body>
    </p><input type="submit" NAME="annuler" value="Supprimer"></p>
    </p><input type="submit" NAME="confirmer" value="Envoyer"></p>
     
    </form>
    </html>
    le fichier effacerviachecbox.php:
    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
     
    <html>
    <body>
    <head>
    <link rel="stylesheet" href="sitebn.css" type="text/css">
    <font color='yellow'>
    <?php
     $bdd="bntoulon";//connection à la base de donnée bntoulon
     mysql_connect("localhost","root","");//utilisateur root et aucun mot de passe défni
     mysql_select_db($bdd);
     
    //code pour effacer toutes les informations des personnes sélectionnées
    if(isset($_POST['submit']))
        {
              $id=$_POST['choix'];  
              for ($i = 0; $i < count($id); $i++)
                 {
                      $req = "DELETE FROM roulage WHERE id  = '$id[$i]'";
                     mysql_query ($req) or die(mysql_error());
                 }
        }
    ?>
    </p>
    <a href="tableau.php"><font color='yellow'>Revenir au tableau</a></font></p>
    </head>
    </body>
    </html>
    le fichier confirmation.php:
    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
     
    <html>
    <body>
    <head>
    <link rel="stylesheet" href="sitebn.css" type="text/css">
    <font color='yellow'>
    <?php
     $bdd="bntoulon";//connection à la base de donnée bntoulon
     mysql_connect("localhost","root","");//utilisateur root et aucun mot de passe défni
     mysql_select_db($bdd);
     
    //code pour effacer toutes les informations des personnes sélectionnées
    if(isset($_POST['submit']))
        {
              $id=$_POST['choix'];  
              for ($i = 0; $i < count($id); $i++)
                 {
                      $req= "UPDATE roulage SET confirmation = 'oui' ";
                     mysql_query ($req) or die(mysql_error());
                 }
        }
    ?>
    </p>
    <a href="tableau.php"><font color='yellow'>Revenir au tableau</a></font></p>
    </head>
    </body>
    </html>
    et le fichier tableauconfirmation.php
    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
     
    <? include("connect.inc") ?>
    <html>
    <link rel="stylesheet" href="sitebn.css" type="text/css">
    <head>
    <body>
    <META HTTP-EQUIV="Refresh" CONTENT="15";>
     
     
    <center><font color='red'><h1><i>Liste des réservations confirmées</i></h1></center>
     
    <table class="frm" align="center">
    <tr><th bgcolor='#99CCFF' width="1%">Numéro</th><th bgcolor='#99CCFF' width="3%">Grade</th><th bgcolor='#99CCFF' width="15%">Nom</th><th bgcolor='#99CCFF' width="15%">Prénom</th><th bgcolor='#99CCFF' width="5%">Téléphone</th><th bgcolor='#99CCFF' width="20%">Motif</th><th bgcolor='#99CCFF' width="2%">Jour</th><th bgcolor='#99CCFF' width="2%">Mois</th><th bgcolor='#99CCFF' width="4%">Année</th><th bgcolor='#99CCFF' width="3%">Heure début</th><th bgcolor='#99CCFF' width="2%">Minutes début</th><th bgcolor='#99CCFF' width="3%">Heure fin</th><th bgcolor='#99CCFF' width="3%">Minutes fin</th></tr>
     
     
    <?php
     
     
     
    $resultat = mysql_query("SELECT id,grade,nom,prenom,telephone,motif,day,month,year,heuredebut,minutesdebut,heurefin,minutesfin FROM roulage WHERE confirmation = 'oui' ");
    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>";
    }
    ?>
    </table>
    </head>
    </body>
    </form>
    </html>

    tu as tout

  8. #28
    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
    Par défaut
    Dans tableau.php tu remplaces la définition de ton FORM par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="monform" action="traitement.php" method="post">
    Ensuite tu créés un fichier traitement.php avec ça dedans :

    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
    <html>
    <body>
    <head>
    <link rel="stylesheet" href="sitebn.css" type="text/css">
    <font color='yellow'>
    <?php
     $bdd="bntoulon";//connexion à la base de donnée bntoulon
     mysql_connect("localhost","root","");//utilisateur root et aucun mot de passe défni
     mysql_select_db($bdd);
    
    if(!empty($_POST['annuler']))
    {
      //code pour effacer toutes les informations des personnes sélectionnées
              $id=$_POST['choix'];  
              for ($i = 0; $i < count($id); $i++)
                 {
                      $req = "DELETE FROM roulage WHERE id  = '$id[$i]'";
                     mysql_query ($req) or die(mysql_error());
                 }
    }
    else if(!empty($_POST['confirmer']))
    {
      //code pour effacer toutes les informations des personnes sélectionnées
              $id=$_POST['choix'];  
              for ($i = 0; $i < count($id); $i++)
                 {
                      $req= "UPDATE roulage SET confirmation = 'oui' ";
                     mysql_query ($req) or die(mysql_error());
                 }
    }
    
    ?>
    
    <a href="tableau.php"><font color='yellow'>Revenir au tableau</a></font></p>
    </head>
    </body>
    </html>


    Question : il sert à quoi le fichier tableauconfirmation.php ?

  9. #29
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Par défaut
    Mon tableau.php receptionnera toutes les demandes.
    et celle qui sont ok pour le vehicule on les confirmes en rejoutant la valeur "oui "via un update puis sa affiche les confirmations sur tableauconfirmation.php VISIBLE par les utilisateurs.

    sa marche tout es testé mais toujours le problème des forms.

  10. #30
    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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sa marche tout es testé mais toujours le problème des forms
    C'est à dire ? Avec le code que j'ai mis (pas testé), quand tu valides ton formulaire ça ne fait pas ce que tu veux ? Ca te fait toujours le traitement de la confirmation ? de l'annulation ?

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Par défaut
    attends

  12. #32
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Par défaut
    C'est bon ce que tu m'as donné sa marche tout marche.
    Mais y a til possibilité de tout faire sans créé une autre page comme traitement.php?

    merci

  13. #33
    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
    Par défaut
    Bah oui je t'ai déjà dit.

    3 solutions :

    - celle que je t'ai donné, un fichier qui s'occupe de tous les traitements
    - une autre qui consiste à se servir du fichier traitement.php uniquement pour faire des redirections vers les pages qui vont réellement effectuer le traitement
    - une dernière solution en bidouillant avec du JavaScript, dans l'évènement onClick de tes boutons tu modifies l'attribut ACTION de ton FORM, et comme ça selon le bouton cliqué c'est la bonne page de traitement qui est appelée. Mais bon c'est du JavaScript hein...

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 183
    Par défaut
    merci de ton aide, sa été très sympat je t'en remercie.
    @la prochaine, j'ai tout compris.
    @tte

  15. #35
    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
    Par défaut
    Pas de souci, ce fût dur mais on y est arrivé.

    Si il y a une leçon à tirer de ce topic c'est qu'il est primordial de bien exprimer ce que l'on veut en prenant du recul par rapport à son travail afin de faire passer le message aux autres, et de ne pas rester dans sa bulle en croyant que tout le monde connaît ce que l'on est en train de faire.

    Bon courage pour la suite.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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