Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/06/2006, 11h30   #1
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
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
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2006, 11h34   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Le bouton pour effacer il fait des suppressions en base ou il réinitialise juste ton formulaire ?
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2006, 11h36   #3
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
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 126
Points : 2 602
Points : 2 602
j'ai pas trop compris ce que tu voulais.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2006, 11h40   #4
Membre éprouvé
 
Inscription : février 2005
Messages : 401
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : février 2005
Messages : 401
Points : 450
Points : 450
Il faut que tu nommes bien comme il faut tes boutons :

Code :
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 :
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
Sylvain71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2006, 11h48   #5
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Et pour effacer juste le formulaire suffit de faire un bouton <INPUT TYPE="reset"> je crois...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 08h46   #6
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
C'est exactement ce que je souhaite mais quand je supprime cette ligne
Code :
<form name="monform" action="effacerviacheckbox.php" method="post">
les submit ne marchent plus.
Alors comment faire??

J'ai essayer de faire comme sa:
Code :
1
2
<input type="submit" name="annuler" value="annuler" action="effacerviacheckbox.php">
<input type="submit" name="confirmer" value="confirmer" action="effacerviacheckbox.php">
merci
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 08h55   #7
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Je vous montre comment est organiser mon code que j'ai abrégé:
Code :
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>
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 09h01   #8
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
J'ai repris la fin il y avait des erreurs:
Code :
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">');
}
?>
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 09h16   #9
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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.


Citation:
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).
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 09h47   #10
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
Je sais j'ai aps fais gaffe je lé rajouter il n'y a pas longtemps:
Code :
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.
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 09h50   #11
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
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 :
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">');
}
?>
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 09h53   #12
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Je répète :


Citation:
On t'a montré deux versions alors c'est laquelle que tu "souhaites" ??? (suppression en base ou simple réinitialisation de formulaire).
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 10h15   #13
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
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à
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 10h15   #14
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
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
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 10h15   #15
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
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
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 10h28   #16
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 10h43   #17
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
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 :
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
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 10h58   #18
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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 :
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 :
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.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 11h25   #19
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 183
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mai 2006
Messages : 183
Points : 29
Points : 29
Envoyer un message via MSN à snakejl
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 :
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 :
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
snakejl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/06/2006, 11h31   #20
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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).
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h33.


 
 
 
 
Partenaires

Hébergement Web