Article     Discussion     Modifier     Historique     Forums     Salon IRC

Les sessions en php

Un article de Games Creators Network.


Sommaire

[modifier] Introduction

Dans ce tutoriel, nous allons aborder les sessions, et notamment la création d'un espace membres en PHP.

Les objectifs de sont les suivants :

  • Savoir se servir des sessions
  • Mélanger les cookies et les sessions.
  • Savoir créer un espace membres

[modifier] Les sessions

Se servir des sessions est très facile, il suffit juste d'apprendre le nom de quelques fonctions.

Premièrement, pour initialiser une session, nous allons nous servir de la fonction session_start() qu'il faudra impérativement placer avant votre page html :

<?php session_start(); ?>
..
..
votre page html et php

Deuxièmement, nous allons créer des variables de sessions :

<?php
session_start();
 
$_SESSION['pseudo']='Pchiter';
$_SESSION['signe']='Sagitaire';
?>
..
..
votre page html et php

Encore une chose facile. Maintenant, nous allons voir comment faire pour afficher des variables de sessions, puis comment fermer la session :

<?php
session_start();
 
$_SESSION['pseudo']='Pchiter';
$_SESSION['signe']='Sagitaire';
?>
 
<html> <!--Faites pas attention aux normes -->
<head><title>Les sessions</title></head>
<body>
 
Bonjour <?php echo $_SESSION['pseudo']; ?>.<br/>
Si je ne m abuse, vous êtes du signe astrologique <?php echo $_SESSION['signe']; ?><p/>
 
Si vous voulez vous déconnectez, cliquez <a href="deco.php">ici</a>
</body>
</html>

Dans la page deco.php, vous mettez ceci:

<?php session_destroy(); ?>

Et bien voilà, désormais les sessions n'ont plus de secrets pour vous!

[modifier] Session+cookie = fusion

Et bien, si vous ne connaissez pas les cookies, allez lire cet article :Les cookies. Sinon, ce que l'on va faire, c'est que l'on va créer un cookie qui contient un identifant de connexion, et si cet identifiant corresopnd à celui de la session, alors on affiche un message spécifique à l'écran :

<?php
 
setcookie("login","Pchiter",time()+3600); // On a envoyé notre cookie
 
session_start();
$_SESSION['login']='Pchiter'; // On a définit une variable
 
<html> <!--Faites pas attention aux normes -->
<head><title>Les sessions et les cookies</title></head>
<body>
 
<p>... Vérification en cours ...</p>
if ($_SESSION['login'] == $_COOKIE['login']) // test
{
  echo 'Vous allez être redirigés vers la page secrète de la nasa';
}
 
else
{
  echo 'Et bien non, tu n\'es pas la bonne personne, dommage hein !';
} 
 
</body>
</html>

Enfin bref, mon exemple n'a pas beaucoup d'intérêt, mais c'était surtout pour vous montrer que l'on pouvait coupler sessions et cookies.

[modifier] L'espace membre

Nous allons voir les bases d'un espace membre, je ne vais pas vous montrer le meilleur, mais un support pour que vous puissiez l'améliorez par la suite.

Premièrement, vous allez faire une nouvelle table dans votre base de données avec comme les champs suivants :

  • id en int et auto_increment
  • login en varchar 10
  • pass en varchar 10

Voilà, ensuite nous allons créer la page du formulaire d'identification :

identification.html

<html>
<head><title>Identification</title></head>
<body>
 
<form action="test.php" method="POST">
Login : <input type="text" name="login" maxlength="250"><br/>
Pass : <input type="text" name="pass" maxlength="250"><p/<
<input type="submit" value="Continuer">
</form>
 
</body>
</html>

Et bien voilà, ce formulaire va aller vers la page test.php, qui va vérifier le mot de passe :

test.php

<?php
 
mysql_connect("xx","xx","xx");
mysql_select_db("xx"); // Voila, on a établi le contact avec mysql
 
if (!isset ($_POST['login']) && !isset ($_POST['pass']) ) // On vérifi que les variables ne soient pas vides
{
 
$requete = mysql_query("SELECT pass from table where login='".$_POST['login']."' ");
$reponse = mysql_fetch_array($requete);
 
if ($reponse['pass'] == $_POST['pass'])
{
  session_start(); // On start la session du membre
  $_SESSION['login'] = $_POST['login'];
  // Maintenant vous pouvez renvoyer la personne sur votre accueil des membres.
}
 
else 
{
  echo 'Mauvais mot de passe';
  // Plus qu'a renvoyer vers le formulaire d'inscription.
}
 
}
 
else
{
  echo 'Vous avez oublié de remplir un champ, cliquez <a href="identification.html">ici</a>';
}
 
mysql_close(); On oublie pas ca !
?>

Voilà donc un code tout bête. Vous auriez pu vous servir des cookies afin de sauvegarder le mot de passe et l'identifiant de l'utilisateur, vous avez plein de possibilités pour faire un espace membre.

[modifier] Conclusion

Donc ce petit tutoriel est fini, j'éspère qu'il vous aura appris des choses, et que désormais vous pourrez créer votre espace membre plus facilement.

 

Rechercher
Installer l'extension de recherche Plus d'informations

 

Comprendre
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin

 

Partager
La connaissance est la seule chose qui s'accroit lorsqu'on la partage. - Sacha Boudjema

 

Créer
L'imagination est plus importante que la connaissance. - Albert Einstein

 

 

Le wiki en images Le wiki en images Image du mois: «Snowball: un prototype de jeu développé avec NeL.