Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2456 connectés 

  FORUM HardWare.fr
  Programmation

  [php] variables qui se perdent ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] variables qui se perdent ?

n°42184
art_dupond
je suis neuneu... oui oui !!
Posté le 22-06-2001 à 17:28:51  profilanswer
 

salut les gens,
 
 
J'ai une fonction qui récupère les variables d'un formulaire.
 
Ensuite j'ai
 
<input type=button name="machin" value="garder ces valeurs ?">
 
<?
if ($machin)
{
  blabla();
}
?>
 
Le problème, c'est que j'ai l'impression que mes variables ont oublié combien elles valent une fois qu'on appuye sur le bouton, et donc j'arrive pas à les employer dans blabla()...
 
 
Comment faire ?


---------------
oui oui
mood
Publicité
Posté le 22-06-2001 à 17:28:51  profilanswer
 

n°42188
duch
Posté le 22-06-2001 à 17:49:52  profilanswer
 

euh...
 
là c'est pas des variables qui se perdent à mon avis, c'est des coups de pieds au c*l :D
 
nan j'déconne :D
 
me dit pas que tu fais tout ça dans la même page qd même?

n°42194
Mara's dad
Yes I can !
Posté le 22-06-2001 à 18:35:16  profilanswer
 

Ben c'est possible de tout mettre sur la même page, mais faut faire gaffe à l'odre des choses !
 
1-tester si les variables doivent être traiter
2-afficher le formulaire avec éventuellement les valeurs du "passage" précédent!
 
Enfin, c'que j'en dis...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°42199
art_dupond
je suis neuneu... oui oui !!
Posté le 22-06-2001 à 18:48:37  profilanswer
 

Maras's dad > je vois pas très bien ce que tu veux dire.
 
Je mets le truc en simplifié, parce que je crois que je m'explique mal.
 
 
 
<form method=post action"<? echo $PHP_SELF ?>">
<table>
<tr>
 <td>combien de champs</td><td>:</td><td><input type="Text" name="nombre" value=<? echo $nombre ?>></td>
</tr>
</table>
<input type="Submit" name="combieng" value="Nombre">
 
<?  
if ($combieng)  // normalement il affiche un formulaire avec $nombre champs, mais la je racourcis...
{
 echo
 ("
  <form method=\"post\" action=\"<? echo $PHP_SELF ?>\">
  <table>
  <tr>
   <td><input type=\"Text\" name=\"brol\" value=\"$brol\"></td>
  </tr>
  </table>
  <input type=\"Submit\" name=\"youpi\" value=\"Ajouter\">
 " );
}
 
if ($youpi)  
{
 echo ($brol);   // là il m'affiche bien BROL
 echo ("<br><input type=button name=\"solidifiage\" value=\"oui oui ?\">" );
}
 
if ($solidifiage)
{
 echo ($brol);  // là, il ne me l'affiche pas...
}
?>

 

[edit]--Message édité par art_dupond--[/edit]


---------------
oui oui
n°42202
M@nu
Posté le 22-06-2001 à 18:55:43  profilanswer
 

ben c'est normal tu recharges la page... !?!
 
il faut rajouter ça ds le 2e formulaire :
<input type='hidden' name='brol' value='$brol'>

n°42207
art_dupond
je suis neuneu... oui oui !!
Posté le 22-06-2001 à 19:08:02  profilanswer
 

Donc pour chaque variable que je dois garder, je dois mettre un
 
<input type='hidden' name='brol' value='$brol'>  ?
 
ou y a un moyen plus simple pour garder toutes les variables en une fois ?


---------------
oui oui
n°42225
Mara's dad
Yes I can !
Posté le 22-06-2001 à 20:07:12  profilanswer
 

Je croyais que tu voulais réafficher les valeur dans le formulaire !
 
Sinon, l'autre moyen c'est les sessions avec PHP4.
 
Voir la doc !
http://www.php.net/manual/fr/ref.session.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°42228
art_dupond
je suis neuneu... oui oui !!
Posté le 22-06-2001 à 20:12:05  profilanswer
 

non, ce n'est pas pour faire une session, je dois juste employer ces variables une fois.
 
En fait, le premier formulaire prend les valeurs.
 
Le deuxieme affiche une image en fonction de ces valeurs.
 
Si l'image me plait, ben j'appuye sur le bouton et il me stocke les valeurs dans un fichier ou une bd.


---------------
oui oui
n°42277
M@nu
Posté le 23-06-2001 à 11:51:51  profilanswer
 

et ben les sessions c'est parfait !

n°42302
art_dupond
je suis neuneu... oui oui !!
Posté le 23-06-2001 à 15:58:03  profilanswer
 

ben oki, si vous le dites tous, alors je m'incline, et je vais potasser ca.
 
Merci maitres


---------------
oui oui
mood
Publicité
Posté le 23-06-2001 à 15:58:03  profilanswer
 

n°42694
art_dupond
je suis neuneu... oui oui !!
Posté le 25-06-2001 à 23:50:03  profilanswer
 

au fait, est-ce que ca marcherait si je declarais les variables en STATIC ?
 
 
 
 
Je suis neuneu ! n 'est-ce pas ?


---------------
oui oui
n°42697
Mara's dad
Yes I can !
Posté le 26-06-2001 à 00:30:58  profilanswer
 

Non pour les STATIC !
 
Il faut bien comprendre qu'entre l'affichage du premier formulaire et du second, ton script a été éxécuté deux fois.
Le moteur php n'a pas moyen de lier ces 2 sessions. Pour lui, c'est 2 événements qui n'ont rien en commun.
Si tu veut que la deuxième session ait des infos de la première, il faut les lui donner. Soit par des variables cachées dans un formulaire, soit par des cookies.
 
Les variables de sessions utilisent cette technique.
 
Exemple à base de cookies.
Il faut comprendre comment les cookies fonctionnent:
Quand le navigateur envoie une requête à un serveur, il envoie aussi les cookies que se même serveur lui as envoyé lors d'une précédente visite, et rien sinon.
 
Donc en gros :
A la première visite d'un utilisateur, le serveur ne recoit pas de cookie, il en crée donc un et l'envoie au navigateur avec le premier formulaire.
 
L'utilisateur rempli le formulaire et renvoie le tout au serveur avec le cookie.
 
Le serveur qui reçoit le cookie se dit, tient, je le connais celui-là, et il sauve quelque-part les données du forulaire (ou tout ce que tu veut, c'est ton script php qui défini çà!) avec comme référence, la valeur du cookie. Ensuite, il evoie au client le 2eme formulaire.
 
L'utilisateur rempli le 2eme formulaire et l'envoie au serveur avec son cokkie.
 
Le serveur reçoit le cookie et le contenu du formulaire. Si ton script qui traite ce 2eme formulaire à besoin des valeurs sauvées  précédement, il peut y accéder grace au cookie qui y fait référence.
 
Cà a l'air lourd comme çà, mais çà évite de faire faire des aller retour à tes variables.
 
Bien sur, y'a un paramètre sur le serveur qui dit que les variables de session ont une certaine durée de vie. En effet, le serveur n'a aucun moyen de savoir quand l'utilisateur décide de naviguer ailleur ou d'éteindre son PC !
 
Donc entre deux formulaire, vaut mieux pas allez manger une pizza avec des pôtes !
 
Avant l'intégration de la notion de session dans PHP4, chaque webmaster devait inventer sa propre manière de gérer ce genre de chose, et pour les cas simples, les champs cachés sont une très très bonne solution.
 
Cela dit, je n'ai jamais pratiqué les sessions avec PHP4, seulement en ASP, donc pour savoir comment faire en pratique : RTFM ;)


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°42699
art_dupond
je suis neuneu... oui oui !!
Posté le 26-06-2001 à 01:00:24  profilanswer
 

oki oki,
 
je demandais ca parce que j 'avais lu que static permettait de garder les variables apres l 'excecution des fonctions, alors je me demandais si ca ne marcherait pas aussi pour une page, et apparemment c 'est non.
 
voili voili
 
 
je suis neuneu ! n 'est-ce pas ?


---------------
oui oui

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [php] variables qui se perdent ?

 

Sujets relatifs
[PHP] Variables d'environnement[PHP] Question sur les variables "$$toto"
assembleur et c..... pb de variables....javascript et php - variables, récupération de retour à la ligne
[SQL][ASP]champs affecté aux variablesProblème de Variables sous VB6
(PHP) j'arrive pas a afficher des variables crees dans une boucle !(PHP) probleme (incomprehensible ?) avec mes variables
definition de variables globales pour un site web[Delphi 5] passage de variables d'une fiche à une autre
Plus de sujets relatifs à : [php] variables qui se perdent ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)