Variables et PHP

Résolu
Signaler
Messages postés
21
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
13 septembre 2011
-
Messages postés
354
Date d'inscription
dimanche 3 juin 2001
Statut
Membre
Dernière intervention
11 mars 2013
-
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

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
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 -
Messages postés
354
Date d'inscription
dimanche 3 juin 2001
Statut
Membre
Dernière intervention
11 mars 2013

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!";
}
?>