par
lecobra_20 » 31 janv. 2006, 12:07
Bon voici tout ce qui te faut :
Page index.php (va te permettre de te loguer...)
<?php
/* Traitement du formaulaire pour l'accès à l'espace membre */
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['membre_login']) && !empty($_POST['membre_login'])) && (isset($_POST['membre_pass']) && !empty($_POST['membre_pass']))) {
// On se connecte à la base de données
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('gestion', $base);
// requête pour la déclaration de la session id
$query='SELECT * FROM gestion_membre WHERE membre_login="'.addslashes($_POST['membre_login']).'" AND membre_pass_md5="'.md5(addslashes($_POST['membre_pass'])).'"';
$result=@mysql_query($query);
$row=@mysql_fetch_array($result);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM gestion_membre WHERE membre_login="'.addslashes($_POST['membre_login']).'" AND membre_pass_md5="'.md5(addslashes($_POST['membre_pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
// On libère l'espace mémoire et on ferme la base de données
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1){
// On déclare des lors les variables de sessions pour la suite du programme
session_start(); // variable de session
$_SESSION['membre_login'] = $_POST['membre_login']; // Variable de session contenant le pseudo du membre
$_SESSION['membre_id'] = $row[0]; // Variable de session contenant l'id du membre
header('Location: membre.php'); // On redirige le membre sur la page membre
exit(); // On sort
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
//$erreur = 'Compte non reconnu.';
// On affiche une boîte de dialogue informant la personne que les coordonnées saisies dans le formulaire sont incorrecte
echo '<SCRIPT language="JavaScript" type="text/javascript">
window.alert("Compte non reconnu dans la base de données");
</script>';
}
// sinon, alors la, il y a un gros problème
else {
// Déclaration du message d'erreur
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
// Declaration du message d'erreur
$erreur = 'Au moins un des champs est vide.';
}
}
/* Fin traitement du formaulaire pour l'accees a l'espace membre */
?>
<!--------------------Gestion de la page avec l'affiche des différents éléments--------------------->
<html>
<head>
<title></title>
</head>
<!-----------------------Début du traitement de l'affichage de la page-------------------------------->
<body>
<br>
<table width="250" border ="0" align="center">
<tr>
<td>
<form action="index.php" method="post" name="FormMemo">
Nom :
</td>
<td>
<input type="text" name="membre_login" value="<?php if (isset($_POST['membre_login'])) echo stripslashes(htmlentities(trim($_POST['membre_login']))); ?>">
</td>
</tr>
<tr>
<td>
Passe :
</td>
<td>
<input type="password" name="membre_pass" value="<?php if (isset($_POST['membre_pass'])) echo stripslashes(htmlentities(trim($_POST['membre_pass']))); ?>">
</td>
</tr>
<tr>
<td colspan="2">
<center><br>
<input type="submit" name="connexion" value="Connexion" onClick="javascript: return saisieOK(document.FormMemo);"></center>
</form>
</td>
</tr>
<tr>
<td>
<a href="inscription.php">Vous inscrire</a>
</td>
</tr>
</table>
</div>
</center>
</td>
</tr>
<tr>
<td>
<br>
</td>
</tr>
<tr>
<td bgcolor="#A3C1FF" colspan="3" height="1" class="tdSpacer"><img src="fichier_images/spacer.gif" width="1" height="1" border=0 /></td>
</tr>
</table>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
Page membre.php (la page du membre une fois loggué) :
<?php
session_start();
if (!isset($_SESSION['membre_login'])) {
header ('Location: index.php');
exit();
}
?>
<htlm>
<title>membre</title>
<head>
</head>
<body>
<center>
<div class="blocTxt">
<center>Bienvenue <b><?php echo($_SESSION['membre_login']); ?></b> dans votre espace de gestion</center>
</div>
</center>
<br>
<div class="listeFilms">
<table width="500" cellspacing="0" align="center">
<thead>
<tr>
<td align="center">
<img src="fichier_images/icon/icon_copy.gif"> Outils OfficeGestion
</td>
</tr>
</thead>
<tbody>
<tr>
<td bgcolor="#A3C1FF" colspan="3" height="1" class="tdSpacer"><img src="fichier_images/spacer.gif" width="1" height="1" border=0 /></td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
<center>
<div class="blocTxt">
<p>Gestion multimédia</p><hr>
<img src="fichier_images/dvdtech.gif">
</div>
</center>
<center><table border="0" width="50%">
<tr>
<td>
essai
<hr width="100%">
</td>
</tr>
</table></center>
<p>Accéder aux outils : </p>
</BODY>
</html>
La page pour l'inscription :
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['membre_login']) && !empty($_POST['membre_login'])) && (isset($_POST['membre_pass']) && !empty($_POST['membre_pass'])) && (isset($_POST['membre_pass_confirm']) && !empty($_POST['membre_pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['membre_pass'] != $_POST['membre_pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('gestion', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM gestion_membre WHERE membre_login="'.addslashes($_POST['membre_login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO gestion_membre VALUES("", "'.addslashes($_POST['membre_login']).'", "'.md5(addslashes($_POST['membre_pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['membre_login'] = $_POST['membre_login'];
echo "<br><br><center><font color='#990000'>Inscription réussie<br> Vous pouvez désormais vous connecter <a href=\"index.php\">ici</a></font></center><br>";
//header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Inscription</title>
<LINK REL=stylesheet TYPE="text/css" HREF="css.css">
</head>
<body bgcolor="#f4f4f4">
<h3><p style="text-align: center; font-family: 'times new roman">Création d'un compte à l'application de gestion</p></h3><br />
<hr width="50%"><br>
<center>
<table>
<tr>
<td>
<form action="inscription.php" method="post">
Login :
</td>
<td>
<input type="text" name="membre_login" value="<?php if (isset($_POST['membre_login'])) echo stripslashes(htmlentities(trim($_POST['membre_login']))); ?>">
</td>
</tr>
<tr>
<td>
Mot de passe :
</td>
<td>
<input type="password" name="membre_pass" value="<?php if (isset($_POST['membre_pass'])) echo stripslashes(htmlentities(trim($_POST['membre_pass']))); ?>">
</td>
</tr>
<tr>
<td>
Confirmation du mot de passe :
</td>
<td>
<input type="password" name="membre_pass_confirm" value="<?php if (isset($_POST['membre_pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['membre_pass_confirm']))); ?>">
</td>
</tr>
<tr>
<td colspan="2">
<br><center><input type="submit" name="inscription" value="Inscription"></center></form>
</td>
</tr>
</table>
</center>
<hr width="50%">
<p style="text-align: center; font-family: 'times new roman"><a href="index.php">Retour</a></p>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>
La page pour la déconnexion.php :
<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>
Et pour finir la base de données :
Code : Tout sélectionner
CREATE TABLE `gestion_membre` (
`membre_id` int(11) NOT NULL auto_increment,
`membre_login` text NOT NULL,
`membre_pass_md5` text NOT NULL,
PRIMARY KEY (`membre_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
Bon voici tout ce qui te faut :
Page index.php (va te permettre de te loguer...)
[php]
<?php
/* Traitement du formaulaire pour l'accès à l'espace membre */
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['membre_login']) && !empty($_POST['membre_login'])) && (isset($_POST['membre_pass']) && !empty($_POST['membre_pass']))) {
// On se connecte à la base de données
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('gestion', $base);
// requête pour la déclaration de la session id
$query='SELECT * FROM gestion_membre WHERE membre_login="'.addslashes($_POST['membre_login']).'" AND membre_pass_md5="'.md5(addslashes($_POST['membre_pass'])).'"';
$result=@mysql_query($query);
$row=@mysql_fetch_array($result);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM gestion_membre WHERE membre_login="'.addslashes($_POST['membre_login']).'" AND membre_pass_md5="'.md5(addslashes($_POST['membre_pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
// On libère l'espace mémoire et on ferme la base de données
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1){
// On déclare des lors les variables de sessions pour la suite du programme
session_start(); // variable de session
$_SESSION['membre_login'] = $_POST['membre_login']; // Variable de session contenant le pseudo du membre
$_SESSION['membre_id'] = $row[0]; // Variable de session contenant l'id du membre
header('Location: membre.php'); // On redirige le membre sur la page membre
exit(); // On sort
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
//$erreur = 'Compte non reconnu.';
// On affiche une boîte de dialogue informant la personne que les coordonnées saisies dans le formulaire sont incorrecte
echo '<SCRIPT language="JavaScript" type="text/javascript">
window.alert("Compte non reconnu dans la base de données");
</script>';
}
// sinon, alors la, il y a un gros problème
else {
// Déclaration du message d'erreur
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
// Declaration du message d'erreur
$erreur = 'Au moins un des champs est vide.';
}
}
/* Fin traitement du formaulaire pour l'accees a l'espace membre */
?>
<!--------------------Gestion de la page avec l'affiche des différents éléments--------------------->
<html>
<head>
<title></title>
</head>
<!-----------------------Début du traitement de l'affichage de la page-------------------------------->
<body>
<br>
<table width="250" border ="0" align="center">
<tr>
<td>
<form action="index.php" method="post" name="FormMemo">
Nom :
</td>
<td>
<input type="text" name="membre_login" value="<?php if (isset($_POST['membre_login'])) echo stripslashes(htmlentities(trim($_POST['membre_login']))); ?>">
</td>
</tr>
<tr>
<td>
Passe :
</td>
<td>
<input type="password" name="membre_pass" value="<?php if (isset($_POST['membre_pass'])) echo stripslashes(htmlentities(trim($_POST['membre_pass']))); ?>">
</td>
</tr>
<tr>
<td colspan="2">
<center><br>
<input type="submit" name="connexion" value="Connexion" onClick="javascript: return saisieOK(document.FormMemo);"></center>
</form>
</td>
</tr>
<tr>
<td>
<a href="inscription.php">Vous inscrire</a>
</td>
</tr>
</table>
</div>
</center>
</td>
</tr>
<tr>
<td>
<br>
</td>
</tr>
<tr>
<td bgcolor="#A3C1FF" colspan="3" height="1" class="tdSpacer"><img src="fichier_images/spacer.gif" width="1" height="1" border=0 /></td>
</tr>
</table>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
[/php]
Page membre.php (la page du membre une fois loggué) :
[php]<?php
session_start();
if (!isset($_SESSION['membre_login'])) {
header ('Location: index.php');
exit();
}
?>
<htlm>
<title>membre</title>
<head>
</head>
<body>
<center>
<div class="blocTxt">
<center>Bienvenue <b><?php echo($_SESSION['membre_login']); ?></b> dans votre espace de gestion</center>
</div>
</center>
<br>
<div class="listeFilms">
<table width="500" cellspacing="0" align="center">
<thead>
<tr>
<td align="center">
<img src="fichier_images/icon/icon_copy.gif"> Outils OfficeGestion
</td>
</tr>
</thead>
<tbody>
<tr>
<td bgcolor="#A3C1FF" colspan="3" height="1" class="tdSpacer"><img src="fichier_images/spacer.gif" width="1" height="1" border=0 /></td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
<center>
<div class="blocTxt">
<p>Gestion multimédia</p><hr>
<img src="fichier_images/dvdtech.gif">
</div>
</center>
<center><table border="0" width="50%">
<tr>
<td>
essai
<hr width="100%">
</td>
</tr>
</table></center>
<p>Accéder aux outils : </p>
</BODY>
</html>[/php]
La page pour l'inscription :
[php]<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['membre_login']) && !empty($_POST['membre_login'])) && (isset($_POST['membre_pass']) && !empty($_POST['membre_pass'])) && (isset($_POST['membre_pass_confirm']) && !empty($_POST['membre_pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['membre_pass'] != $_POST['membre_pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('gestion', $base);
// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM gestion_membre WHERE membre_login="'.addslashes($_POST['membre_login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
if ($data[0] == 0) {
$sql = 'INSERT INTO gestion_membre VALUES("", "'.addslashes($_POST['membre_login']).'", "'.md5(addslashes($_POST['membre_pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
session_start();
$_SESSION['membre_login'] = $_POST['membre_login'];
echo "<br><br><center><font color='#990000'>Inscription réussie<br> Vous pouvez désormais vous connecter <a href=\"index.php\">ici</a></font></center><br>";
//header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Inscription</title>
<LINK REL=stylesheet TYPE="text/css" HREF="css.css">
</head>
<body bgcolor="#f4f4f4">
<h3><p style="text-align: center; font-family: 'times new roman">Création d'un compte à l'application de gestion</p></h3><br />
<hr width="50%"><br>
<center>
<table>
<tr>
<td>
<form action="inscription.php" method="post">
Login :
</td>
<td>
<input type="text" name="membre_login" value="<?php if (isset($_POST['membre_login'])) echo stripslashes(htmlentities(trim($_POST['membre_login']))); ?>">
</td>
</tr>
<tr>
<td>
Mot de passe :
</td>
<td>
<input type="password" name="membre_pass" value="<?php if (isset($_POST['membre_pass'])) echo stripslashes(htmlentities(trim($_POST['membre_pass']))); ?>">
</td>
</tr>
<tr>
<td>
Confirmation du mot de passe :
</td>
<td>
<input type="password" name="membre_pass_confirm" value="<?php if (isset($_POST['membre_pass_confirm'])) echo stripslashes(htmlentities(trim($_POST['membre_pass_confirm']))); ?>">
</td>
</tr>
<tr>
<td colspan="2">
<br><center><input type="submit" name="inscription" value="Inscription"></center></form>
</td>
</tr>
</table>
</center>
<hr width="50%">
<p style="text-align: center; font-family: 'times new roman"><a href="index.php">Retour</a></p>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</body>
</html>[/php]
La page pour la déconnexion.php :
[php]<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>
[/php]
Et pour finir la base de données :
[code]CREATE TABLE `gestion_membre` (
`membre_id` int(11) NOT NULL auto_increment,
`membre_login` text NOT NULL,
`membre_pass_md5` text NOT NULL,
PRIMARY KEY (`membre_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
[/code]