Probléme de récuperation de variables

khafis Messages postés 4 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 1 février 2006 - 19 oct. 2005 à 13:32
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 20 oct. 2005 à 16:43
Je viens de commencer avec PHP, je travaille avec deux pages:


La premiere comporte des zones de textes et un bouton "SUIVANT" qui me permet de passer à la deusiéme.


La deusiéme serre a affiché les valeurs des zone de texte de la premiére page" là j'ai travaillé avec la méthode "$_POST" ,et comporte un bouton "PRECEDENT" (là ou j' ai le probléme).
Normalement on cliquant sur cet bouton en revient à la premiére page avec remplissage des zones de texte avec les valeurs déja saisi en premier temp , cet etape j'ai pas pu la réaliser .
Merci de votre aide.

10 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
19 oct. 2005 à 13:38
Salut!

Je pense qu'il faudrait faire comme ceci:

Quand tu charges ta deuxième page, tu sauvegardes ce que le visiteur a
entré sur la première page ; je pense que le mieux est d'utiliser une
session.



Sur la première page, tu as deux possibilités:

- la session existe

- la session n'existe pas



Si elle n'existe pas, tu la crée en lui donnant les valeurs par défaut



Tu remplis ensuite ton formulaire avec les valeurs de la session.



Si qlqn a une autre idée, je suis preneur, :)



@++



R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
19 oct. 2005 à 22:26
Pour moi il y a plus simple qu'utiliser les sessions :)



page1.php

<?php

$texte = (isset($_POST["texte"])) ? htmlentities(stripslashes($_POST["texte"])) : "" ;

?>

.......

<form action="page2.php" method="post">

<textarea name="texte" rows="10" cols="30"><?php echo($texte); ?></textarea>



</form>

.......



page2.php

<?php

if(isset($_POST["texte"]) && $_POST["texte"] !== "")

{

$texte = htmlentities(stripslashes($_POST["texte"]));

}

else

{

header("Location:page1.php");

exit();

}

?>

.......

<?php echo(nl2br($texte)); ?>

<form action="page1.php" method="post">

" />



</form>

.......



Voila, le code parle de lui-même =)
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
20 oct. 2005 à 09:31
J'ai honte!

Je me sens très très barbare! Merci :) :D



@++



R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 oct. 2005 à 09:34
Hello,



je ne pense pas que ce soit ce que demande Khafis. D'abord, il sert à
quoi ton header(), lol? Il veut un bouton précédent. En gros, on rentre
des données, on validen et on voit le résultat. Ca convient, ok, on
poursuit, ça ne convient pas, on peut revenir en arrière. Avec les
valeurs déjà entrées histoire de ne pas tout se retaper.



Un header () va perdre les données de toutes manières.

Mon idée...ou plutôt mes idées :

les sessions, comme Cookiesh. Et pour sauvegarder, ce que j'ai déjà
fait, perso, c'est sérialiser mon tableau $_POST, et sauvegarder la
chaîne obtenue dans une variable de session.

Quand tu es sur ta page1, tu testes cette variable, soit elle existe,
soit elle n'existe pas...si elle existe, tu désérialises. Puis tu
affiches ton formulaire. Dans la "value" de tes champs, tu fais un
opérateur ternaire par exemple : value="<?php echo $valeur=(isset
($_POST['champ'])?$_POST['champ']:''); ?>"

Tu peux aussi sauvegarder ce tableau sérialisé dans un fichier texte, par exemple. Ca évite les sessions.



L'autre solution, c'est de faire ça en 1 seule page.

Au début, tu testes si le $_POST du bouton sumit "suivant" est validé,
ou si on a appuyé sur le bouton "précédent" (voir plus loin mon
explication). Si oui, tu testes les autres champs pour vérif. Puis tu
affiches ce que tu as dans ta page2. Et surtout, tu crées le même
formulaire mais tout en hidden. Le bouton "précédent" sera en fait un
bouton de validation de ce formulaire caché.

Si on clique sur CE bouton, hop, on revient toujours sur cette même pas, avec les même $_POST...

Et pour afficher le formulaire de base, ben comme en haut, tu fais des
tests sur tes $_POST dans chaque "value" de tes champs. Et tu mets un
bouton "validation" ou plutôt "suivant".
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 oct. 2005 à 09:35
ah pardon Monoceros, j'avais pas fait gaffe au 2ème formulaire lol,
c'ext exactement ma 2ème idée...et je pige le header () du coup.

Mes plus plates excuses :-)
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
20 oct. 2005 à 13:12
Tu es tout excusé malalam (cool le palindrome :p)
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
20 oct. 2005 à 15:17
malalam, tu as gradé? :)



@++



R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 oct. 2005 à 16:04
Ben heu oui :-) J'ai eu une promotion lol.

Alors gaffe les enfants, je veille au grain... ;-)
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
20 oct. 2005 à 16:07
Lol, le grand méchant malalam... Va falloir le corrompre, :D

Bon, heu..., plus sérieusement, c'est pas un mal un admin qui soit un
peu sur phpcs pcq il me semble que les doubles posts et les sources
fake mettaient du temps à disparaitre pis ca m'évitera de déranger
BruNews, ^^



@++



R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 oct. 2005 à 16:43
Ouais lol; Ben c'est du boulot...



au passage, n'hésitez donc pas à me prévenir directement quand vous
voyez un problème. Vous savez que je ne suis jamais bien loin... ;-)
(we mis à part pour le moment, désolé).

Tout genre de pb hein, double posts, etc...j epense d'ailleurs que ça va être le plus chiant lol, y en a pas mal...
0
Rejoignez-nous