[php/java] Passage de variable?

Fermé
cartos Messages postés 5 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 4 juin 2008 - 4 juin 2008 à 10:07
cartos Messages postés 5 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 4 juin 2008 - 4 juin 2008 à 16:28
Bonjour,

Pour vous présenter mon problème j'ai créé 3 pages simples.

Je voudrais pouvoir modifier une variable php à l'aide d'un champ texte quelque soit la page vers laquelle je me redirige.

Concrètement, je voudrais faire passer la valeur de mon champ texte du form1 par le form2

Page essai1.php
<HTML>
<HEAD>
<?php
session_start();
if (!isset($_SESSION["texte"])) {
$_SESSION["texte"] = "";
}
if (isset($_POST["texte"])) {
$_SESSION["texte"] = $_POST["texte"];
}
?>
</HEAD>
<BODY>
<form name="form1" action="essai2.php" method="post">
	<div align="center"><input type="text" name="texte" value= "<?php echo $_SESSION["texte"]; ?>"></div>
	<div align="center"><input type="submit" name="ok2" value="OK"></div>
</form>
<br>
<form name="form2" action="essai3.php" method="post">
	<div align="center"><input type="submit" name="ok3" value="OK"></div>
</form>
</BODY>
</HTML>


Page essai2.php
<HTML>
<HEAD>
<?php
session_start();
if (isset($_POST["texte"])) {
$_SESSION["texte"] = $_POST["texte"];
}
echo $_SESSION["texte"];
?>

</HEAD>
<BODY>
<form action="essai1.php" method="post">
	<div align="center"><input type="submit" name="retour2" value="Retour"></div>
</form>
</BODY>
</HTML>


Page essai3.php
<HTML>
<HEAD>
<?php
session_start();
if (isset($_POST["texte"])) {
$_SESSION["texte"] = $_POST["texte"];
}
echo $_SESSION["texte"];
?>

</HEAD>
<BODY>
<form action="essai1.php" method="post">
	<div align="center"><input type="submit" name="retour3" value="Retour"></div>
</form>
</BODY>
</HTML>


Ceci n'est pas mon code original, c'est juste pour illustrer ce que je veux faire (dans ce cas la il serait simple de rassembler les form dans une seul page mais ce n'est pas ce que je veux)

Merci pour votre aide.
A voir également:

2 réponses

Je ne peux pas tester ici, tu me diras si ça marche mieux ;-)

<HTML>
<HEAD>
<?php
session_start();
if (!isset($_SESSION["texte"])) {
$_SESSION["texte"] = "";
}
if (isset($_POST["texte"])) {
$_SESSION["texte"] = $_POST["texte"];
}
?>
</HEAD>
<BODY>
<form name="form1" action="essai2.php" method="post">
	<div align="center"><input type="text" name="texte" value= "<?php echo $_SESSION["texte"]; ?>"></div>
	<div align="center"><input type="submit" name="ok2" value="OK"></div>
</form>
<br>
<form name="form2" action="essai3.php" method="post">
<input type="hidden" name="texte">
	<div align="center"><input type="submit" name="ok3" value="OK" onClick="document.form2.texte.value = document.form1.texte.value;"></div>
</form>
</BODY>
</HTML>


Il faut peut-être ajouter un submit() à la fin du onClick, je ne suis pas sûr...

Et il n'aimera peut-être pas non plus les 2 champs qui s'appellent texte, même si c'est dans 2 form différents (dans ce cas-là tu devras leur donner 2 noms différents)
1
cartos Messages postés 5 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 4 juin 2008
4 juin 2008 à 16:28
Merci pour ton aide, en effet ça marche bien, c'est ce que je faisais depuis le début mais en j'avais oublié les "..., c'est incroyable le temps qu'on peu passer pour une si petite chose.

Pour information si ça intéresse un passant on peu aussi mettre un onchange ici:
	<div align="center"><input type="text" name="texte" value= "<?php echo $_SESSION["texte"]; ?>" onchange="document.form2.texte.value = document.form1.texte.value;"></div>


A+
0
Bonjour,

Depuis essai1.php, tu voudrais pouvoir poster (donc récupérer) la variable texte même en cliquant sur le bouton submit du form2. C'est bien ça?

Dans ce cas-là c'est plutôt du javascript que tu devras utiliser : il faut rajouter un champ cacher dans le form2 et sur le onClick du bouton ok3, tu utilises le javascript pour recopier la valeur form1.texte vers form2.champCache
0
cartos Messages postés 5 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 4 juin 2008
4 juin 2008 à 13:54
Merci pour ta réponse, je suis d'accord mais j'ai beau m'acharner, toutes les lignes de code que j'entre ne fonctionne pas... pourrais tu modifier le code que j'ai envoyé pour que ça marche? (je pense que ça ne représente pas trop de modification)

Merci d'avance.
0