Scouby12
Invité n'ayant pas de compte PHPfrance
29 nov. 2005, 20:03
As-tu essayé d'utiliser des variables de sessions ?
Voici un exemple de fonctionnement.
Au début de ta page php :
<?php
//------------------------------------
// Nom de ce fichier = page1.php
//------------------------------------
session_start();
?>
... ton code ...
(Exemple simplifié si tu utilises un form)
<form id="NomDeMonForm" name="NomDeMonForm" method="post" action="DeuxiemePageQuiTraiteLesVariablesDeLaPagePrecedente.php">
<input type="text" name="Var_Nom_DeCeForm" size="80" maxlength="70" />
<input type="submit" name="Submit" value="Envoyer" />
</form>
(Ta deuxième page)
(pour l'exemple, elle affichera l'introduction du nom donnée dans la page précédente)
<?php
//------------------------------------
// Nom de ce fichier = DeuxiemePageQuiTraiteLesVariablesDeLaPagePrecedente.php
//------------------------------------
session_start();
$_SESSION["DonneeFormulaire"]["NomEntroduit"] = $Var_Nom_DeCeForm ;
echo $_SESSION["DonneeFormulaire"]["NomEntroduit"] ;
?>
Explications :
1) session_start(); = prévient php qu'il devra retenir des valeurs DE LA page précédente, ce qui signifie que si tu veux réutiliser ces valeurs dans d'autres pages, tu dois commencer ces pages avec cette instructions.
2) $_SESSION["DonneeFormulaire"]["NomEntroduit"] = déclaration de la variable de session, tu donnes le nom que tu veux, ici, j'en ai donné 2 pour que ce soit plus clair au cas où tu travaillerais avec des dizaines de pages et des dizaines de formulaire.
J'aurai très bien pu avoir (si j'avais d'autres variables dans le même form)
$_SESSION["DonneeFormulaire"]["NomEntroduit"] = $Var_Nom_DeCeForm ;
$_SESSION["DonneeFormulaire"]["PrenomEntroduit"] = $Var_Prenom_DeCeForm ;
$_SESSION["DonneeFormulaire"]["AgeEntroduit"] = $Var_Age_DeCeForm ;
..., etc, ...
3) Si tu veux être encore plus sûre des valeurs passées en paramètre par le form, et non des valeurs passées dans l'url (avec les paramètres) tu peux utiliser ce type-ci :
$_SESSION["DonneeFormulaire"]["NomEntroduit"] = $_POST["Var_Nom_DeCeForm"] ;
A ce moment, SEULE l'introduction du form est tenu en compte.
4) Si tu as par exemple, 5 pages de suite qui doivent utiliser une valeur de la 1ère page, il n'est pas nécessaire de redéclarer tes variables de sessions à chaque fois, du moment que tu commence comme expliquer au point 1, tes valeurs voyageront sans problèmes de page en page.
Ici, j'ai utilisé un form car j'ai plus facile pour t'expliquer le fonctionnement des sessions par écrit, plutôt que de commencer à créer une db, etc, mais c'est pareil avec des variables d'une requête, même principe.
Je suis tombé par hasard sur la page de ton post en effectuant une recherche avec google, je ne suis pas sûr de savoir revenir sur cette page pour voir si j'ai pu t'aider, mais en tout cas, je l'espère.
Bonne continuation,
Scouby.
(
[email protected])