Création du premier fichier de l'espace membre

Attention, depuis PHP 5.5.0, certaines extensions SQL sans doute utilisées dans ce tutoriel peuvent être obsolètes et seront supprimées dans le futur, vous devez donc adapter les codes! Exemples ici.
Nous allons à présent créer le premier fichier de la partie privée de l'espace membre. Cette page va ce nommer "auth-user.php" et contiendra le code de base ci-dessous :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="fr" />
<title>Administration</title>
<link type="text/css" href="auth-style.css" rel="stylesheet"/>
</head>
 
<body>
 
<div id="cadre">
<p> Placez ici ce que vous voulez...</p>
</div>
 
</body>
</html>
Note : Cette page est une sorte de "démo" et ne sert à rien pour le moment. A vous d'en faire quelque chose par la suite en fonction de vos besoins (tchat, affichage de données, etc...).

Lors de la connexion à l'espace membre, une session est ouverte et le pseudo ainsi que le mot de passe sont utilisés lors de cette session. Nous allons donc tout simplement et dans un premier temps ouvrir une session et vérifier que les 2 sessions existent. Le code est à placer en tout début de page avant le DOCTYPE.
<?php
//ouverture de session
session_start();
//on vérifie si les 2 sessions sont présentes
if(isset($_SESSION['pseudo']) && isset($_SESSION['pass'])){
Si les sessions existent, on se connecte à la base de données et on va chercher tout ce qui correspond à l'utilisateur :
    include("auth-data_bd.php");
    connexion_bd();
    //on va chercher tout ce qui correspond à l'utilisateur
    $affiche = mysql_query("SELECT * FROM LOGIN WHERE pseudo='".mysql_real_escape_string(stripcslashes($_SESSION['pseudo']))."' AND pass='".mysql_real_escape_string($_SESSION['pass'])."' AND valide='".mysql_real_escape_string(1)."'");
    $result = mysql_fetch_assoc($affiche);
    //http://php.net/manual/fr/function.extract.php
    extract($result);
A partir d'ici, toute les données du membre sont "sortis" et exploitables. Si le membre venait à être banni en cours de session, il faut pouvoir l’éjecter :
    //si le membre est banni en cours de session
    if($valide==2){
    echo '<div class="erreur">Votre compte a été black-listé!</div><script type="text/javascript"> window.setTimeout("location=(\'index.php?dec=close&ban=ok\');",3000) </script>';
    }
    //on libère le résultat de la mémoire
    mysql_free_result($affiche);
    ?>
Nous nous rendons à présent en bas de page sous la balise "</html>"  ou nous allons fermer la vérification des sessions et clôturer la connexion à la base de données :
<?php
//fermeture de la BD
close_bd();
//on boucle la session du haut de page
}
?>
La page est à présent terminé et utilisable telle qu'elle mais sans menu de navigation pour accéder aux autres pages, difficile de faire quoi que ce soit ...
Sous la partie :
<div id="cadre">
Ajoutez :
<?php include('auth-menu.php');?>
La réalisation du menu se fera dans le prochain tutoriel :).

La page "auth-user.php" dans son ensemble :
<?php 
//ouverture de session
session_start();
//on vérifie si les 2 sessions sont présentes
if(isset($_SESSION['pseudo']) && isset($_SESSION['pass'])){
    include("auth-data_bd.php");
    connexion_bd();
    //on va chercher tout ce qui correspond à l'utilisateur
    $affiche = mysql_query("SELECT * FROM LOGIN WHERE pseudo='".mysql_real_escape_string(stripcslashes($_SESSION['pseudo']))."' AND pass='".mysql_real_escape_string($_SESSION['pass'])."' AND valide='".mysql_real_escape_string(1)."'");
    $result = mysql_fetch_assoc($affiche);
    //http://php.net/manual/fr/function.extract.php
    extract($result);
    //si le membre est banni en cours de session
    if($valide==2){
    echo '<div class="erreur">Votre compte a été blacklisté!</div><script type="text/javascript"> window.setTimeout("location=(\'index.php?dec=close&ban=ok\');",3000) </script>';
    }
    //on libère le résultat de la mémoire
    mysql_free_result($affiche);
    ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="fr" />
<title>Administration</title>
<link type="text/css" href="auth-style.css" rel="stylesheet"/>
</head>
 
<body>
 
<div id="cadre">
 
<?php include('auth-menu.php');?>
 
<p>Cyprum itidem insulam procul a continenti discretam et portuosam inter municipia crebra urbes duae faciunt claram Salamis et Paphus, altera Iovis delubris altera Veneris templo insignis. tanta autem tamque multiplici fertilitate abundat rerum omnium eadem Cyprus ut nullius externi indigens adminiculi indigenis viribus a fundamento ipso carinae ad supremos usque carbasos aedificet onerariam navem omnibusque armamentis instructam mari committat.</p>
 
</div>
 
</body>
</html>
 
<?php
//fermeture de la BD
close_bd();
//on boucle la session du haut de page
}
?>
Voir/déposer un commentaire (0) | Signaler un problème