Il s'agit d'un forum commun à divers sites.
Vous n'êtes pas identifié.
Nous allons voir comment créer facilement un espace membre.
Ce qu'il vous faut:
un hébergeur, une base de donnée mysql, un accès FTP...
Pour le reste, suivez-moi!
Nous allons supposer que tout sera créer dans un répertoire "membres" à la racine de votre site.
1) Vous allez créer un fichier index.php qui va contenir:
<?php
session_start();
///////////////////
require("config.inc.php");
include("$functions/functions.inc.php");
//$page=$_GET[page];//ce n'était pas correct.
//--- Haut de la page
/* Vous pouvez créer un répertoire 'styles' dans votre répertoire 'membres' et y définir le style de vos pages membres, l'exemple est déjà prêt : */
echo'<html><head><title> - Espace Client - </title>
<link type="text/css" rel="stylesheet" href="styles/styles.css">
</head><body><div>';
//---
$page = $_GET[page]; // à cause des registers globals
switch($page)//on fait appel à la page que l'on a besoin
{
case 'connexion' : @include("$repertoire/connexion.php") ;break;
case 'page1' : @include("$repertoire/page1.php") ;break;
default: @include("$repertoire/connexion.php");break;
}
?>
</body>
</html>Que voyons nous ici ?
- session_start(); qui défini une session au niveau serveur.
- l'appel à un fichier "config.inc.php" puis au fichier "$functions/functions.inc.php"
- qu'est-ce que $functions ?
Hors ligne
Nous répondrons aux question posé plut haut, en continuant.
Créons ce fichier config.inc.php:
<?php $repertoire = "pages"; //nom du répertoire où sont installés les pages membres $functions = "includes"; //nom du répertoire où ce situe le fichier functions.inc.php $table_membres = "mes_membres"; ?>
Voilà, il est tout petit. Nous retrouvons d'ailleurs "$functions". Nous voyons qu'il s'agit d'un nom de répertoire dans lequel pourra se trouver toutes vos fonctions. En fait le fichier config permet de personnaliser votre arborescence sans devoir modifier tout ce tuto ;-)
Dans ce fichier, vous devez indiquer le nom de votre table membre, mysql.
Souvenez-vous. Vous travaillez dans un répertoire "membres". Mais dans ce dernier, vous pouvez créer un répertoire "styles" pour y mettre vos styles de mises en pages, un répertoire "pages" pour y mettre toutes les pages réservés à vos membres... et ainsi de suite.
Hors ligne
Occupons-nous du fichier "functions.php":
<?php
function connecter()
{
//////////A MODIFIER/////////////////////////////////////
$host="localhost";//nom de l'hôte
$user="utilisateur"; //nom d'utilisateur
$password="motdepasse";//mot de passe de connection à la base de données
$bdd="nomBDD";//nom de votre base de données
$connect=@mysql_connect($host,$user,$password);
if(!$connect)
{
echo "Erreur de connection au serveur";
exit;
}
$select=@mysql_select_db($bdd);
if(!$select)
{
echo "Erreur de connection à la base de données";
exit;
}
}
?>Pourquoi ne pas avoir mis le nom de la table membre dans config ici ? Vous pouvez le faire sans problème.
Et sinon, à quoi sert ce fichier ? Et bien à chaque fois que vous voudrez vous connecter à votre base de donnée, vous n'aurez qu'à mettre "connecter()" dans votre page et c'est tout.
Attention: ne pas oublier de vous déconnecter à la fin... mais nous verrons ça plus tard.
Hors ligne
Ce qu'il nous faut maintenant, c'est un endroit dans lesquel nous pouvons stocker les informations fournis par l'utilisateur; à savoir le login et le mot de passe. Nous allons stocker ces informations dans une base de donnée, plus précisément nous allons créer une table membre. Nous ne faisons pas un tutorial sur phpmyadmin donc excusez-nous pour le manque d'informations qui vont suivres.
Aller dans votre interface phpmyadmin, cliquer sur "SQL" et copier-coller ce code.
Vous remarqez d'ailleurs que la table se nomme exactement dans le fichier "config.inc.php"
CREATE TABLE `mes_membres` ( `id` int(3) unsigned NOT NULL auto_increment, `pseudo` varchar(50) NOT NULL, `mail` varchar(50) NOT NULL, `password` varchar(10) NOT NULL, `description` tinyint(4) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
C'est bon ?
Hors ligne