> Les cours php (sessions php4) ! [Ton Webmaster .com]

[ Cours php - les sessions php4 ]

Les sessions consistent retenir des variables d'une page une autre pour viter de rassigner sans cesse des informations.
Elle peuvent par exemple permettre de crer un espace membre sans utiliser les cookies. Cela est d'ailleurs plus scuris.

Les fonctions utiles pour les sessions :

- Dmarrer une session : session_start();
- Enregistrer une variable de session : session_register();
- Vrifier si une variable est dclare pour la session en cours : session_is_registered();
- Destruction de la session en cours : session_destroy();
- Destruction de toutes les variables pour la session en cours : session_unset();

- Effacer une variable de session : session_unregister();
- Obtenir le numro de session en cours : session_id();
- Le nom de la session par dfaut (souvent c'est PHPSESSID) : session_name();


On passe maintenant la pratique :
cration d'un espace membre.


Voici le code HTML du formulaire d'identification qui permettra d'entrer sur l'espace membre. On appellera cette page index.php :

<form method="post" action="verif.php">
<table border="0" width="372" align="center">
<tr>
<td width="192">
<b>
Votre login (votre identifiant) :</b>
</td>
<td width="170">
<input type="text" name="
login">
</td>
</tr>
<tr>
<td width="192">
<b>
Votre mot de passe :</b>
</td>
<td width="170">
<input type="password" name="
password">
</td>
</tr>
<tr>
<td colspan="2" width="366">
<input type="submit" name="submit" value="
Entrez sur votre espace membre">
</td>
</tr>
</table>
</form>


Aprs avoir envoy ce formulaire, nous rcuprons les valeurs pour vrifier leur validite grce une seconde page que nous appellerons verif.php
Voici le code PHP qui fera cela :

<?php
$login_sql ="tonwebmaster";
// On dfinit le login (pour l'exemple)
$password_sql ="monpass";
// On dfinit le mot de passe (pour l'exemple)
// Les deux valeurs ci-dessus ont t, par exemple, rcupres d'une base de donnes Mysql (ou autres), o l'on stock les diffrents accs.


// On compare la valeur tape par l'utilisateur ($login) avec celle enregistre ($login_sql), idem pour le mot de passe.
// Cela permet de vrifier l'exactitude des informations entres par le membre.

if ($login=="
$login_sql" && $password=="$password_sql"){
session_start();
// On dmarre la session
session_register("
login"); // On enregistre le login dans la session  (attention, les variables de session n'ont pas de signe dollar ($) )
session_register("
password"); // On enregistre le mot de passe dans la session

header("location :
index_membre.php"); // On redirige ensuite la page actuelle vers l'accueil de l'espace membre.
} // FIN DU if ($login=="$login_sql" && $password=="$password_sql"){

// Sinon (else) l'identification n'est pas russite. On affiche le message d'erreur :
else{echo "Erreur d'identification. Veuillez entrer un login et un mot de passe valide.";}
?>


Avant d'afficher la page d'accueil de l'espace membre, des vrifications doivent tre effectues pour ne pas que quelqu'un puisse accder cette page en allant directement dessus.

Contenu de la page index_membre.php :

<?php
session_start();
// on ouvre la session que l'on a prcdemment cre.
if (!session_is_registered("password")){ // On vrifie que la session est bien cre.
echo "Erreur : vous devez vous identifier pour avoir accs cette espace !"; // Message d'erreur
exit();
// On arrte l'excution du script (donc tout ce qui est en dessous ne sera pas affich)
} // FIN du if (!session_is_registered("password")){ // On vrifie que la session est bien cre.

// DEBUT : contenu de votre espace membre : -----------------------------------------------------------
echo "Bienvenue <b>
$login</b> sur notre espace membre."; // Message de bienvenue
?>
Contenu de la page d'accueil ICI.
<?php

echo 'Je souhaite <a href="logout.php">me dconnecter</a>'; // Lien permettant la dconnexion.
// FIN : contenu de votre espace membre : ----------------------------------------------------------------

?>


Voici le code PHP de la page de dconnexion (logout.php) :

<?php
session_start();
// on dmarre la session
session_unset();
// On efface toutes les variables de la session
session_destroy();
// On dtruit ensuite la session.

header("location:
index.php") ; // On redirige automatique cette page (que l'on ne verra pas) vers la page d'identification.
?>

tonwebmaster.com le 1er site de ressource webmaster - forum webmaster

Rechercher sur le site
 
Les liens utiles