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.

