Variables et PHP

Résolu
XFranck Messages postés 21 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 13 septembre 2011 - 13 sept. 2011 à 18:51
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013 - 15 sept. 2011 à 20:45
Bonsoir,
Je tourne en rond depuis une semaine, je m'en remets à vous après la lecture dizaines d'exemples et la consultation de centaines de pages sur les variables.
C'est Simple, j'ai une seule page index.php, plusieurs centaines de ligne, des "require" et "include", mais bon.

Ma page index.php affiche le contenu d'une base SQL, avec suivant précédent tout fonctionne.

Ma base étant de plus en plus importante, je souhaite mettre en place un filtre.
J'ai rajouté un champ INPUT dans un FORM POST index.php.
Je fais un $filtre=$_POST[mon champ INPUT], je valide, c'est OK.
Par contre, je perd la valeur de $filtre lorsque je change de page, c'est à nouveau l'intégralité de ma base qui s'affiche.
Je pense que lors du réaffichage de la page le $filtre=$_POST[mon champ INPUT] met la variable à zéro.
Lorsque je fixe en dur cette variable, $filtre="référence" alors tout va bien.

Une idée?
Vraiment merci, merci beaucoup par avance.

2 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
13 sept. 2011 à 21:47
Salut,

Par contre, je perd la valeur de $filtre lorsque je change de page, c'est à nouveau l'intégralité de ma base qui s'affiche.

D'après ce que je comprends c'est bien normal. Toutes tes variables, y compris les variables POST, sont détruites à la fin du script.

Une des possibilité est de mettre en session ces variables.
Ainsi, elles seront disponibles pour toutes les pages.

Je te laisse consulter la doc qui sera bien plus efficace que moi :
http://fr.php.net/manual/fr/book.session.php


Cordialement,


Kohntark -
3
JulSoft Messages postés 354 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 11 mars 2013
15 sept. 2011 à 20:45
Hmmm ça me fait penser que j'avais fait un tutoriel sur les sessions dans le cadre d'un projet (un prof qui voulait qu'on lui fasse des howto pour accompagner notre projet).

Je vais peut être prendre un peu de temps pour le mettre ici...

En attendant, un extrait qui permet d'ilustrer la chose (le texte est pas top, je préviens;-))

La plupart des utilisation des sessions se fait au travers de la variable (tableau) super-globale $_SESSION. Cette dernière est rendue accessible par l'activation du mécanisme de session (appel à session_start()). Il est alors possible de définir des valeurs dans $_SESSION.

Illustration du principe de persistance temporaire des données
<?php
// intialisation
session_start();

// test de l'existance d'une valeur dans $_SESSION["maCle"]
if(isset($_SESSION["maCle"]){
// affichage de la valeur trouvée
echo $_SESSION["maCle"];
}else{
// définition d'une valeur
echo "pas de valeur dans $_SESSION["MaCle"]";
$_SESSION["maCle"] = "ma valeur";
}
?>


et pour le fun:
<?php
// initialisation
session_start();

if(isset($_SESSION["nuit"])){	// la variable $_SESSION["nuit"] existe, il fait nuit
echo "nuit!";
unset($_SESSION["nuit"]);
}else{							// il fait jour!
$_SESSION["nuit"]=1;			// comme ça $_SESSION["nuit"] existe...
echo "jour!";
}
?>
3
Rejoignez-nous