garder des valeur sur mon formulaire

Eléphant du PHP | 406 Messages

05 juil. 2005, 14:07

salut,

J ai un formulaire dans lequel j ai 2 liste deroulante et donc sur l evenement on change de ma liste j adapte le contenu de la 2eme liste en fonction du choix sur la 1ere liste.
Sur ce formulaire j ai des zone texte et le truc c est que quand je rentre des valeur dans ces zone t exte et qu ensuite je choisi un element dans la liste deroulante à ce moment la , les valeurs contenu dans les zone texte s efface, vu qu il y a un evenement on change, et j aurai aimé savoir comment faire pour pouvoir les garder ??

j ai essayer avec des variables de session,
mais sa fonctionne pas trop vu qu il faut un submit pour alimenter mes variables de session.
$_SESSION['1']=$_POST['nums']; 
echo $_SESSION['1']."<br>"; 
//$_SESSION['1']=$_POST['numc']."<br>"; 
$_SESSION['2']=$_POST['numi']; 
echo $_SESSION['2']."<br>"; 
$_SESSION['3']=$_POST['comm1']; 
echo $_SESSION['3']."<br>"; 
$_SESSION['4']=$_POST['comm2']; 
echo $_SESSION['4']."<br>"; 
$_SESSION['5']=$_POST['liv']; 
echo $_SESSION['5']."<br>"; 
$_SESSION['6']=$_POST['prix']; 
echo $_SESSION['6']."<br>"; 
$_SESSION['7']=$_POST['sit']; 
echo $_SESSION['7']."<br>"; 
$_SESSION['8']=$_POST['ret']; 
echo $_SESSION['8']."<br>"; 
$_SESSION['9']=$_POST['numcontr']; 
echo $_SESSION['9']."<br>"; 
$_SESSION['10']=$_POST['fin']; 
echo $_SESSION['10']."<br>";
Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 juil. 2005, 14:10

de plus, tu ne peux pas instancier et utiliser une variable de session dans le même script

si tu fait
$_SESSION["toto"] = $_POST["toto"];
Tu ne peux pas faire
echo $_SESSION["toto"];
juste après
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 406 Messages

05 juil. 2005, 14:14

je suis bien obliger de le faire pour voir le contenu de ma variable

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 juil. 2005, 14:16

Ah bon ?

Et si tu faisait ça :
$_SESSION['1']=$_POST['nums'];
echo $_POST['nums']."<br>";
:wink:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 juil. 2005, 14:18

Je viens de relire ton post et si tu veux conserver des données lors d'un onChange, il va falloir utiliser du JS

Ce que je ne comprend pas, c'est pourquoi tes inputs sont vidés :shock:

Tu passes par du PHP ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 406 Messages

05 juil. 2005, 15:12

en faite c est un formulaire de saisi
et donc au chargement il est vide,mais le truc c est que dans ce formulaire t a des liste deroulante avec des evenement onchange, et suffit de choisir un element de la liste et sa efface tout les champs.
Sur d autre formulaire, sa pose pas de probleme car au chargement mes zone texte ne sont pas vide et donc je n ai qu a les stocker dans des variables de session et c nikel
mais la :(

et si j utilise javascript cela signifie que je devrais recuperer le contenu de mes zone texte dans des variables javascript et les passer ensuite dans l url ?

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

05 juil. 2005, 15:16

de plus, tu ne peux pas instancier et utiliser une variable de session dans le même script

si tu fait
$_SESSION["toto"] = $_POST["toto"];
Tu ne peux pas faire
echo $_SESSION["toto"];
juste après
Pourquoi donc ?
Modifié en dernier par mere-teresa le 05 juil. 2005, 15:19, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 juil. 2005, 15:17

Le truc que je comprend pas, c'est que quand il sélectionne une valeur dans une liste, est-ce que tu passes par du php ou est-ce que tu fait tout en JS ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 juil. 2005, 15:19

de plus, tu ne peux pas instancier et utiliser une variable de session dans le même script

si tu fait
$_SESSION["toto"] = $_POST["toto"];
Tu ne peux pas faire
echo $_SESSION["toto"];
juste après
Pourquoi donc ?
Parce que dans certains cas, les serveurs ne reconnaissent pas la variable
Je ne sais plus pour quelle(s) raison(s) mais un de mes profs m'a dit ça l'année dernière et j'avoue que j'ai pris ses paroles comme benies et que je n'ai pas testé autrement. Surtout qu'on peut toujours faire autrement :oops:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 406 Messages

05 juil. 2005, 15:23

ma liste deroulante c est en JS, je recupere à l aide de cela la valeur de la value de la liste dans l url.
Et je pensai que quand je rechargais ma page à l aide d un onchange,sa alimentait mes $_POST.

mes liste se prensente comme cela
// on crée la requête SQL 
$sql = "select  type_objet from familles order by type_objet";
$res=pg_query($sql); 
?>

<select name="fam"  onChange="location.href='<?php echo  $_SERVER['PHP_SELF'] ; ?>?fams=' + this.value"> 

<option>--Famille--</option>

<?
while($list=pg_fetch_array($res)){
?>

 <option value="<?php echo ($list['type_objet']);?>"  <? if(@$_SESSION['famis'] == $list['type_objet']){echo(" selected=\"selected\"");}?>><?php echo ($list['type_objet']); ?></option> 

<?php 
    } 
?> 
	</select> 



        </td> 

Eléphant du PHP | 406 Messages

07 juil. 2005, 10:31

c est possible de mettre un evenement onchange sur la zone texte comme cela je procederai comme avec les liste deroulante je recupererai le contenu de la zone texte dans l url et je le stockerai dans la variable de session ??

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

07 juil. 2005, 10:35

c est possible de mettre un evenement onchange sur la zone texte comme cela je procederai comme avec les liste deroulante je recupererai le contenu de la zone texte dans l url et je le stockerai dans la variable de session ??
Pourquoi tu n'essaies pas ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

ViPHP
pjl
ViPHP | 2119 Messages

07 juil. 2005, 10:51

Une remarque au passage,
tu ne veux pas utiliser des noms de session plus parlant ?
$_SESSION['1']

Eléphant du PHP | 406 Messages

27 juil. 2005, 14:22

j ai penser a faire quelquechose dans ce genre
<select name="marq"  onChange="location.href='<?php echo  $_SERVER['PHP_SELF'] ; ?>?marqs=' + this.value + '&mod=' + document.creation.mod.value ">  

ensuite je recupere la variable dans l url a l aide d un $_GET et je la stocke dans une variable de sessions.

Mais sa ne fait pas un peu trop lourd de mettre plusieurs variable dans l url ?
j en ai une douzaine ?

Eléphant du PHP | 406 Messages

27 juil. 2005, 15:30

:roll: