Assez difficles à dompter quand on commence, les variables de session s'avèrent être des compagnons de tous les jours. Incontournable pour qui veut se lancer dans la réalisation de site un peu plus poussée, je vous conseille de bien lire ce script et de le comprendre avant de l'utiliser.
Petite note en passant, l'erreur la plus commune avec les variables de session c'est lorsque le header part avant le reste, donc méfiance :)
Source / Exemple :
<?
/*************************************************************************
- @Auteur: Legion
- @Script: Identification + Passage des variables en variables - session
- @Version: 1.0
- @Description: Ce script permet d'une part de vérifier la viabilité d'un
- login et d'un mot de passe et d'autre part de passer des variables en
- variables de session afin de les réutiliser tout au long de
- l'application.
- @Date: Lundi 3 Février
// Connexion + choix de la base sur laquelle on va travailler
include("connect.inc");
$base = mysql_select_db("ma_base");
// Récupération des valeurs entrées par l'utilisateur
$var1 = $HTTP_POST_VARS["champ_form1"];
$var2 = $HTTP_POST_VARS["champ_form2"];
// Requête qui nous permettra ensuite de vérifier la viabilité de ces infos
$sql = "SELECT * FROM ma_table a,ma_table2 b WHERE champ1 = '$var1' AND champ2 = '$var2'";
$req = mysql_query($sql) or die("<p align=center><b>Impossible d'accéder à votre requête</b></p>");
// Boucle pour créer des variables dans lesquelles on stockera les valeurs dont nous aurons besoin pour notre session
while($row = mysql_fetch_object($req)) {
$var_champ1 = $row -> champ1;
$var_champ2 = $row -> champ2;
$var_champ3 = $row -> champ3;
$var_champ4 = $row -> champ4;
}
// Vérification de la viabilité des infos entrées par l'utilisateur
$nblignes = mysql_num_rows($req);
if($nblignes > 0) {
// Création d'une session et stockage des variales qui nous intéressent
session_start("nom_session");
session_register("var_champ1");
session_register("var_champ2");
session_register("var_champ3");
session_register("var_champ4");
header('location: page_suivante.php');
} else {
echo "<p align=center><font color=red><b>Mauvais login / mot de passe</b></font></p>";
include("page_actuelle.php");
exit;
}
// Par la suite, pour réutiliser ces variables de session, il suffit d'ajouter un session_start(); en haut de
// la page et de rappeler les variables dont on a besoin.
?>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.