Récupérer les valeurs des zones de texte

naïla -  
 Rayane -
Bonjour,
j'ai un petit souci, et j'ai besoin d'aide
d'abord je vous explique le contenue de ma page,
je développe avec php, j'ai un formulaire dans ma page1.php qui contient un ensemble de zones de texte + un tableau que je remplie a partir d'une autre page que j'ouvre en cliquant sur un lien là où je choisie des éléments et je revient à ma page1.php, et enfin je clic sur le bouton submit du formulaire pour enregistrer le tous dans la base de données.
tout cela marche très bien et j'ai aucun problème la dessus .
Mon problème est le suivant, quand je clic sur le lien vers ma 2eme page (pour choisir les éléments), si j'ai gardé du texte dans mes zones de texte de ma page1.php, je les trouve pas quand je revient de la 2eme page, je trouve que le vide, car la page se recharge et je crois que c'est normale.
j'ai fait un tour, j'ai cherché partout une solution, j'ai trouvé une, c'est de récupérer les valeurs des zones du texte que j'ai sur ma page1 et de les importer a la 2eme page et ainsi les réimporter vers la 1ere, en effet j'ai trouvé logique et j'ai fait comme suit:
<a href='ElementDisponible.php?var1=<?php echo $_POST['text1'];?>&var2=<?php echo $_POST['text2'];?>&var3=<?php echo $_POST['text3'];?>&var4=<?php echo $_POST['text4'];?>' target="_parent">Ajouter des Éléments</a>

et dans ma 2eme page 'ElementDisponible.php' je récupère comme suit:
$Elem1 = $_GET['var1'];
$Elem2 = $_GET['var2'];
$Elem3 = $_GET['var3'];
$Elem4 = $_GET['var4'];

mais j'obtiens aucune valeur sur mon URL que les variables(var1=&var2=&..........)qui sont vides.
j'espère que vous m'avez compris, j'ai besoin de votre aide
Merci d'avance à tous.

11 réponses

jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Mon problème est le suivant, quand je clic sur le lien vers ma 2eme page (pour choisir les éléments), si j'ai gardé du texte dans mes zones de texte de ma page1.php, je les trouve pas quand je revient de la 2eme page, je trouve que le vide, car la page se recharge et je crois que c'est normale.


Si j'ai bien compris, tu remplis tes zones de texte, tu clique sur ton lien, et tu comprends pas pourquoi les $_POST['text1'], que tu penses remplir avec le contenu de tes zones de texte, sont vides ?

Ben c'est normal, le code php est exécuté au chargement de la page, donc quand tu fais le echo $_POST['text1'], c'est au chargement de la page que c'est exécuté et pas au click sur le lien
0
naïla
 
En effet c'est pas le cas, je crois que j'ai mal expliquer
d'abord je remplis mes zones de texte puis je clic sur mon lien et j'envoie avec lui les valeurs des zones que j'ai remplies, comme j'ai indiqué dans le bout de code en haut, mais le problème c'est que je récupère rien a la réception dans la 2eme page.

peut être la méthode $_GET n'est pas la bonne solution ...

Merci pour ta réponse rapide, ainsi pouvez vous m'indiquer une solution pour ça s'il vous plait !!

Merci d'avance
1
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Ben c'est bien ce que je dis
tu remplis tes zones de texte et tu cliques sur ton lien en pensant que tu envoies les valeurs, alors que tu envoies les valeurs qui sont présentent au chargement de la page, et donc du vide !
0
naïla
 
Ah d'accord j'ai compris maintenant,, merci infiniment
ben, vous avez une solution pour que je puise envoyer les valeurs qui existent dans les zones de textes que je viens de remplir ??

Et Merci d'avance
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Ben tu mets les zones de text dans un form, c'est le plus simple je pense ^^
0
naïla
 
elle sont déjà dans un form avec un bouton submit du form qui mène vers une autre page et qui sert a enregistrer le contenue dans la base de données.
en effet le lien c'est la seule solution pour basculer vers ma 2eme page remplir le tableau que j'ai dans la 1ere et enfin enregistrer le tout avec le bouton submit du form.
0
naïla > naïla
 
Salut
Personne n'a trouvé une solution pour moi!!!???
0
Rayane
 
Bonjour,
J'ai le même problème, je veux récupérer les valeurs que j'ai saisie dans la page précédente afin de les affiché dans la suivante, et j'aimerai bien si vous pouvez m'aider
Merci d'avance
0

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

Posez votre question
Alain_42 Messages postés 5413 Statut Membre 894
 
un lien quand on clique dessus ne "poste" pas le formulaire donc les valeurs saisies dans l'input ou le textarea ne sont pas envoyées

pour aller à la page deux et faire suivre ce qui est déja saisi il faut cliquer sur le bouton submit et tu mets <form .... action="page2.php">

ensuite page2.php

tu récupéres par $_POST['nom_du_champ']

et pour afficher

<input type="text" name="champ_x" value="<?php echo $_POST['nom_du_champ']
; ?>">

ou pour un textarea:

<textarea ><?php echo $_POST['nom_du_champ']
; ?></textarea>
0
Rayane
 
Merci bien pour ta réponse
je vais changé mon lien par un bouton
Mais maintenant mon problème sera le fait d'avoir deux bouton submit dans la même form et qui ouvrent deux pages différentes
Alors comment je peux transférer mes données vers une page en clic d'un bouton et revenir pour transférer les mêmes données vers une autre page pour les enregistrer ??
En fait j'ai l'action de ma form déjà remplie par la page d'enregistrement : <form .... action="page3.php">
Donc quoi faire !!!!!????

Merci infiniment de m'avoir aider :)
0
Alain_42 Messages postés 5413 Statut Membre 894
 
Alors comment je peux transférer mes données vers une page en clic d'un bouton et revenir pour transférer les mêmes données vers une autre page pour les enregistrer ??

pourquoi une page pour enregistrer et une autre ensuite

avec la même page tu peux tout faire

tu as aussi la solution des variables de session php pour mémoriser des valeurs et les récupérer sur d'autres pages
0
Rayane
 
Salut, d'abord je te remercie infiniment pour ton intérêt..
Ben, je suis d'accord avec toi, mais ma page a quelle j'accède avec un lien ne contient que des Items que je choisie parmi eux quelques uns et je revient a ma page pour continuer la saisie ... ben l'existance des 2 pages est indispensable pour mon cas
Mais ma question maintenant c'est comment utiliser ta solution "la solution des variables de session php pour mémoriser des valeurs et les récupérer sur d'autres pages".

Merci bien pour votre soutien !!
0
Alain_42 Messages postés 5413 Statut Membre 894
 
vas voir sur Google "sessions php"

si difficultés on t'aidera
0
Alain_42 Messages postés 5413 Statut Membre 894
 
page1.php

tout au début tu mets avant toute balise html

<?php
session_start();
//puis plus bas
$var1="toto";
$_SESSION['var1']=$var1;

....
?>

page2.php

tu mets:

<?php
session_start(); //tout au début

$var1=$_SESSION['var1'];
echo $var1; //t'affichera toto

....
?>
0
Rayane
 
Merci Bien,
En effet j'ai cherché juste après de poster ma dernière question, et j'ai testé la même chose que vous m'avez donné et ça pas marché.
peut être car je submit pas ma page , ou bien avec lien le code php ne s'exécute pas .....
aucune idée...
Merci de m'aide SVP
0
Alain_42 Messages postés 5413 Statut Membre 894
 
voilà un petit exemple essayes
même sans submit ça marche, même avec un lien si on appelle une page en .php le php est interprété

page1.php: attention bien nommer tes fichiers ainsi
<?php
session_start();
//puis plus bas
$var1="toto";
$var2="1945";
$_SESSION['var1']=$var1;
$_SESSION['var2']=$var2;

//on la relit pour test affichage
$var1=$_SESSION['var1'];
$var2=$_SESSION['var2'];
echo 'La variable var1 page 1 vaut: '.$_SESSION['var1'];
echo '<br />La variable var2 page 1 vaut: '.$_SESSION['var2'];

?>
<br />
<a href="page2.php">aller &agrave; la page 2</a>

page2.php:
<?php
session_start();
//puis plus bas
$var1=$_SESSION['var1'];
$var2=$_SESSION['var2'];

echo 'La variable var1 page 2 vaut: '.$var1;
echo '<br />La variable var2 page 2 vaut: '.$var2;

?>
<br />
<a href="page1.php">Revenir &agrave; la page 1</a>
0
Rayane
 
Merci beaucoup pour votre intérêt, c'est très gentil de votre part
je vais tester votre exemple, Et pour mon cas je vais faire comme ça:
$var1="$_POST['champ1']";
$var2="$_POST['champ2']";
$_SESSION['var1']=$var1;
$_SESSION['var2']=$var2;

Meeeerci infiniment encore une fois,
0
Alain_42 Messages postés 5413 Statut Membre 894
 
bien sur tu peux mettre plus de 2 var
0
Rayane
 
Bonjour,
D'abord désolé pour le retard mais j'avais des obligations personnelles ..
ben, pour l'exemple que vous m'avez donné ( Alain_42), je l'ai testé et ça marche très bien, mais quand j'ai appliqué la même méthode sur mes pages ça pas marché, car je donne pas moi les valeurs des variables en code comme ça (
$var1="test";
), mais sous forme des $_POST, mes variables vont prendre les valeurs des champs qui seront remplis par l'utilisateur(
$var1=$_POST['champs1'
];), ... j'ai suit attentivement votre exemple mais j'ai pas réussis
ben je vous montre le code:

Au niveau de ma page 1:
<php session_start(); ?>


<?php
$var1=$_POST['var1'];
$var2=$_POST['var2'];
$var3=$_POST['var3'];
$var4=$_POST['var4'];
$var5=$_POST['var5'];

$_SESSION['var1']=$var1;
$_SESSION['var2']=$var2; 
$_SESSION['var3']=$var3;
$_SESSION['var4']=$var4;
$_SESSION['var5']=$var5;

//test d'affichage
$var1=$_SESSION['var1'];
$var2=$_SESSION['var2'];
echo 'La variable var1 page 1 vaut: '.$_SESSION['var1'];
// La variable reste vide
echo '<br />La variable var2 page 1 vaut: '.$_SESSION['var2'];
// La variable reste vide
?>


Au niveau de ma 2eme page:

<php session_start(); ?>


<?php
$var1=$_SESSION['var1'];
$var2=$_SESSION['var2'];
$var3=$_SESSION['var3'];
$var4=$_SESSION['var4'];
$var5=$_SESSION['var5'];

echo 'La variable var1 page 2 vaut: '.$var1;
// La variable reste vide
echo '<br />La variable var2 page 2 vaut: '.$var2;
// La variable reste vide
?>


Merci de me donner un idée
0
Alain_42 Messages postés 5413 Statut Membre 894
 
$var1=$_POST['var1'];
$var2=$_POST['var2'];
$var3=$_POST['var3'];
$var4=$_POST['var4'];
$var5=$_POST['var5'];


veut dire que tes valeurs proviennent d'une autre page (un formulaire)

elle est ou ton autre page ?

elle devrait être ainsi:
<html>
<form name="form1" method="post" action="page1.php">
Saisir var1:<input type="text" name="var1" value=""><br />
Saisir var2:<input type="text" name="var2" value=""><br />
Saisir var3:<input type="text" name="var3" value=""><br />
Saisir var4:<input type="text" name="var4" value=""><br />
Saisir var5:<input type="text" name="var5" value=""><br />
<input type="submit" name="envoyer" value="Envoyer"><br />
</form></html>


donc tu vas saisir des valeurs dans les champs affichés par cette page et qui apelle la page1.php au click sur le bouton Envoyer
0
Rayane
 
Merci infiniment pour ta réponse
et je suis d'accord avec toi, c'est tout à fait juste mais a ce moment là on va faire un submit de la form que je peux pas faire dans mon cas, car le bouton submit de la form et reservé pour autre chose comme j'ai expliqué précédemment, et je ne peux basculer vers ma 2eme page que a laide d'un lien :(

j'ai cherché tellement, et dans mes recherches j'ai trouvé des solutions (que j'ai pas encore testé) en javascript, sous forme des fonctions qui testent les champs si remplis ou pas ainsi réservent leurs valeurs.... mais jusqu'a maintenant je veux bien arrivé au resultat avec du code php.

Merci encore une fois pour ton intérêt, c'est très gentil
0