Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 12/06/2007, 15h49   #1
Membre du Club
 
Inscription : septembre 2006
Messages : 122
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 122
Points : 65
Points : 65
Par défaut récupération données formulaire

Voila j'ai plusieur formulaire sur la meme page, cela me permet d'effectuer différente tache sur ma bdd (ajout de colone,ajout champ,suppression...) je voudrait savoir si il est posible de recupérer l'état d'une checkbox de mon premier formulaire lorsque j'ne valide un autre ?

en espérant etre assez clair

merci d'avance
nocoment est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 15h55   #2
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
Bonjour
Comme les checkbox sont récupéré via les variables post, si tu fais la soumission d'un second formulaire ces variables vont etre écrasé, ainsi tu ne pourras pas utiliser les variable posté du premier formulaire
Par contre ce que tu peux faire c'est de garder ces variables:
1- dans une classe et conserver l'objet de cette classe en session par exemple...pratique si plusieur variable posté dans ton premier formulaire
2- En session directement donc tu peux les utilisé dans tous les formulaire par la suite
3- Moins propre mes avis des champs hidden, j'opterais pour une des 2 premiere solution par contre

En espérant que ca réponds à ton interrogation
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 15h56   #3
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Salut
Je pense qu'avec Javascript et des input hidden tu peux le faire ...
Tu récupères l'état de ta checkbox sur le onsubmit de ton formulaire et affecte sa valeur à ton input hidden, que tu récupères enfin dans ton script de traitement....

J'espère avoir été assez clair aussi ...

Bon courage !
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 15h59   #4
Membre du Club
 
Inscription : septembre 2006
Messages : 122
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 122
Points : 65
Points : 65
dsl mais je ne sait pas comment mettre ces donnée en session je ne savait même pas que cela était possible .
Comment je fait ?? Je met methode session dans ma balise form ???
nocoment est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h06   #5
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
bonjour
les informations sur les sessions trouvées ici pourrait vous etre utiles
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h08   #6
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Citation:
Je met methode session dans ma balise form ???
Sauf erreur de ma part, cette méthode n'existe pas.

Partons du principe que l'état de ton checkbox est déterminé par un test.
Si vrai, checkbox cochée, si faux, checkbox pas cochée.

donc si vrai, tu passes en session son état en déclarant une variable de session :
Code :
1
2
3
4
<?php
session_start();
$_SESSION['checked'] = 'checked';
?>
et si faux :
Code :
1
2
3
4
<?php
session_start();
$_SESSION['checked'] = 'false';
?>
C'est un peu raccourci, mais si tu veux te sentir à l'aise regarde la FAQ sur les sessions, elle est très bien faite : suis le lien
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h29   #7
Membre du Club
 
Inscription : septembre 2006
Messages : 122
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 122
Points : 65
Points : 65
désoler de faire le noob mais apres la lecture de la fac je ne comprend pas tout...
se code je le met ou ? Dans mon premier formulaire avant/apres ? Ou dans le formulaire que je vais valider ?
Dans la page ou je gere le resultat de la soumission ?

dsl mais c'est encore assez obscur pour moi
nocoment est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h35   #8
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Pas de souci, on y passe tous (surtout moi en fait)...
Explique nous exactement ce que tu veux faire.

Tu veux choisir de cocher ta checkbox à chaque fois ou tu veux qu'elle soit cochée automatiquement lors du chargement de la page ?

Qu'est-ce qui détermine que la checkbox est cochée ou non?

Ensuite on verra quelle est la situation la plus adaptée.
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h45   #9
Membre du Club
 
Inscription : septembre 2006
Messages : 122
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 122
Points : 65
Points : 65
voila la checkbox sert a savoir le niveau de selction dans ma base donné qui est trier comme suis :
une gamme puis une marque.
Si elle est activer je selectionne uniquement la marque sinon je prend l'assosiation entre la marque et la gamme. (se qui est plus restrictif)
puisque chaque element as une marque et une gamme.
Dans mon premier formulaire qui sert a modifier l'entré de la selection je place cette checkbox donc pas de probleme lors de la modification des données.
Mais plus loin il y a un autre formulaire qui me permet de restorer la base a son état initiale pour l'element selectionner. Ce n'est plus le même formulaire et donc je ne peut pas récupérer l'état de ma checkbox.Il me selectione alors automatiquement l'assiotiation marque/gamme.
je voudrait donc je ne sais pas comment que quand je valide la checkbox qu'il me passe un parametre dans afin de savoir se qu'il faut que j'annule.
nocoment est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h53   #10
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Tu veux dire que tu as un second formulaire qui contient aussi une checkbox?

Je suis désolé, mais j'ai beaucoup de mal à comprendre ce que tu veux...

Peux-tu m'expliquer autrement car je ne suis pas dans ton projet et je ne vois pas ce que tu veux...
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h57   #11
Membre du Club
 
Inscription : septembre 2006
Messages : 122
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 122
Points : 65
Points : 65
voila imagine que j'ai un formualire avec une checkbox et un lien qui me mene a la page de calcul il faudrait que dans le lien je puisse passez en paramettre l'état de la checkbox ou que je puisse la récupérer de l'auter coter
peut etre que c'est plus simple a comprendre ainsi
sinon je me demander si sur on onclick je pouvait lancer une fonction php qui modifierait la valeur d'une variable session ??? Sa pourait regler mon pb
nocoment est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 17h18   #12
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Oui, je vois...
Pour récapituler:
- ta checkbox est cochée selon le résultat d'une requête
- il faut pouroir passer en paramètre l'état de cette checkbox par le lien.

Donc pour ça, il faut que tu utilises le résultat de ta requête.
Code :
1
2
3
4
5
6
7
8
 
<?php
$sql = mysql_query("SELECT * FROM table WHERE id=".$id);
$result = mysql_fetch_object($sql);
?>
<label for="chk">Checkbox</label>
<input type="checkbox" id="chk" name="chk" <?php if($result->coche == 'true'){ ?>checked="checked" <?php } ?>/>
<a href="page.php<?php if($result->coche == 'true'){ ?>echo'?chk=checked'; } ?>">Lien</a>
Est-ce que j'ai bien compris?
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 17h26   #13
Membre du Club
 
Inscription : septembre 2006
Messages : 122
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 122
Points : 65
Points : 65
le probleme c'est que la checkbox est eventuelement modifier par l'utilisateur et non pas le resultat de ma requette
mais j'ai cherché mais j'ai pas l'impression que se soit faissable en php.
nocoment est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 17h35   #14
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Dans le cas où c'est modifiable par l'utilisateur, il faut le faire en javascript avec des input hidden.

Voilà en gros le principe...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form name="blots" action="" method="post" onsubmit="set_state();">
<input type="checkbox" id="chk" name="chk" />
<input type="hidden" id="chk_state" name="chk_state" value="" />
<input type="submit" value="OK" />
</form>
 
<script type="text/javascript">
//<![CDATA[
function set_state(){
	if(document.getElementById('chk').checked == true){
		document.getElementById('chk_state').value='checked';
	}
 
	if(document.getElementById('chk').checked == false){
		document.getElementById('chk_state').value='unchecked';
	}
}
//]]>
</script>
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 17h47   #15
Membre du Club
 
Inscription : septembre 2006
Messages : 122
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 122
Points : 65
Points : 65
ok merci j'auré préfairer me passez du javascript mais bon tant pis...
merci pour ton aide @++
nocoment est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 17h51   #16
Membre expérimenté
 
Avatar de mathieugamin
 
Inscription : octobre 2006
Messages : 572
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : octobre 2006
Messages : 572
Points : 562
Points : 562
Pas de quoi !

Si tu as une intervention de l'utilisateur et 2 formulaires, malheureusement il n'y a pas beaucoup de choix....

A+
__________________
GAMIN !!!!
_______________________________________________
PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX
mathieugamin 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 20h18.


 
 
 
 
Partenaires

Hébergement Web