Perte de variables après action onclick

novice93 Messages postés 3 Date d'inscription lundi 16 août 2010 Statut Membre Dernière intervention 20 août 2010 - 20 août 2010 à 11:26
novice93 Messages postés 3 Date d'inscription lundi 16 août 2010 Statut Membre Dernière intervention 20 août 2010 - 20 août 2010 à 13:31
Bonjour a tous,

Je suis novice en php et je rencontre un probleme très agaçant.

Je suis sur un simulateur en 2 étapes: 1ère etape, saisie des variables et 2ème étape, calculs.

mes données sont récupérée en étape 2 par la methode post.

le soucis est j'ai inséré plusieurs cases à cocher sur la page 2 avec un submit pour modifier le mode de calcul.
lorsque je clique sur submit, ma page perd les variables récupérée de la page 1

(je ne sais pas si je suis très clairs dans mon explication)

existe il un moyen de cliquer sur ce submit sans perdre mes variables de page 1?

Merci d'avance de votre aide.

4 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
20 août 2010 à 11:51
Salut,

(je ne sais pas si je suis très clairs dans mon explication)

Je doute également Sans code ça laisse souvent quelques interrogations.

existe il un moyen de cliquer sur ce submit sans perdre mes variables de page 1?


Sauf à ne pas avoir compris le mieux reste sans doute de passer par Ajax. Contrairement à ce que beaucoup pourraient penser c'est la solution la plus simple, notamment si tu utilises des librairies comme JQuery.

Sinon il te faudra sans doute ré écrire côté serveur les variables reçues de la page 1 dans la page renvoyée (page 2), mais ça reste plus lourd que la première solution.


Cordialement,


Kohntark -
0
novice93 Messages postés 3 Date d'inscription lundi 16 août 2010 Statut Membre Dernière intervention 20 août 2010
20 août 2010 à 12:48
salut kohntark et merci de ta réponse.

je n'utilise pas de librairie jquery.

comment réecrire coté serveur les variables recues de la page1?

est ce que ca signifie qu'il y a un code php pour extraire la variable de la page 1 et la coller dans la page 2?

voici mon code simplifié

<html>

<head>
<title>page2.php</title>
</head>


<?php


$var1=@$_POST['var1']
$var2=@$_POST['var2']

if(est_selectionne("selection1")
{
$calcul=$var2+$var1
}
else
{
}
?>
<form method="POST">

/> selection1
/> selection2
/> selection3
/>selection4
/> selection5




</html>
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
20 août 2010 à 13:13
Oulà il y a un max d'erreurs dans ton code !!

je n'utilise pas de librairie jquery

... tu devrais ^^

A quoi correspond la fonction est_selectionne() ?

Il manque des ";" un peu partout.
Tu ne testes pas correctement les variables postées.


comment réecrire coté serveur les variables recues de la page1?

C'est vraisemblablement ce que tu essaies déjà de faire, mais les "checked" conditionnés en PHP ne servent à rien puisqu'ils sont déjà définis dans le code HTML qui précède (type="checkbox" checked="checked")
etc ...

Le code fourni n'est pas suffisant pour se faire une idée de ce que tu souhaites faire précisément (un peu d'explications ?)
La première impression est que tu ne t'y prends pas de la bonne manière.
Qui plus est, il serait peut être plus judicieux de faire cela en javascript ... enfin peut être.

Pour résumer il manque beaucoup d'information.

Cordialement,


Kohntark -
0
novice93 Messages postés 3 Date d'inscription lundi 16 août 2010 Statut Membre Dernière intervention 20 août 2010
20 août 2010 à 13:31
désolé pour les ; je les ai remis.

Pour l'explication

les boxes me permettent d'afficher plusieurs choix à cocher:
selection1, selection2, selection3, selection 4, selection5

les type="checkbox" checked="checked" me servent à cocher par défaut mes case (je voulais que seule la première fois qu'on arrive sur la page, tout est coché, mais bon ca reste toujours coché par défaut)
Puis, grace à if(est_selectionne("selection1")) { echo 'checked'; } ?>/> selection1 , je mémorise ce qui a été coché ou décoché.

pour la formule: if(est_selectionne("selection1"){$calcul=$var2+$var1} else {}
je souhaite que si la case "selection1" est cochée, je calcule $var2+$var1
le tout me donnant $calcul.

j'ai d'ailleurs oublié le echo '$calcul'; dans l'exemple.
Revoici le code corrigé selon tes remarques.
<html>

<head>
<title>page2.php</title>
</head>


<?php


$var1=@$_POST['var1'];
$var2=@$_POST['var2'];

function est_selectionne($option) {
if (!isset($_POST['mon_champ'])) {
return FALSE;
}
for ($i 0, $c count($_POST['mon_champ']); $i < $c; $i++) {
if ($_POST['mon_champ'][$i] == $option) {
return TRUE;
}
}
return FALSE;

if(est_selectionne("selection1")
{
$calcul=$var2+$var1;
echo '$calcul';
}
else
{
}
?>
<form method="POST">

/> selection1
/> selection2
/> selection3
/>selection4
/> selection5




</html>
j'espère que mes explications t'eclairent
0
Rejoignez-nous