8791 sujets

Développement web côté serveur, CMS

Salut à tous,
J'ai développé ma première zone membres et j'aurais besoin de votre aide car je cherche à limiter l'accès à une seule connexion par utilisateur (en fonction des identifiants : login et password).

En fait, dans l'hypothèse où un membre donnerait ses identifiants à quelqu'un d'autres, je souhaiterais faire en sorte qu'il ne puisse y avoir qu'une seule connexion simultanée ? Avez-vous une idée de quelle fonction je pourrais utiliser ?

Merci d'avance de votre aide Smiley cligne
@plus
Zedbar1
Ci dessous une partie de mes pages de connexion:

Config.php

<?php
session_start();

mysql_connect('localhost', 'root', '');
mysql_select_db('xxxxxx');
?>


ma page de connexion est :

<?php
include('config.php')
?>
<!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" xml:lang="fr" lang="fr">


....................

<?php
if(isset($_SESSION['username']))
{
	unset($_SESSION['username'], $_SESSION['userid']);
?>
<div class="message">
	<div id="confirm">
Vous avez été deconnecté. <br />Pour entrer à nouveau dans votre espace membre, <a class="go" href="connexion.php">Cliquez ici</a>
	</div>
</div>
<?php
}
else
{
	$ousername = '';
	//On verifie si le formulaire a ete envoye
	if(isset($_POST['username'], $_POST['password']))
	{
		//On echappe les variables pour pouvoir les mettre dans des requetes SQL
		if(get_magic_quotes_gpc())
		{
			$ousername = stripslashes($_POST['username']);
			$username = mysql_real_escape_string(stripslashes($_POST['username']));
			$password = stripslashes($_POST['password']);
		}
		else
		{
			$username = mysql_real_escape_string($_POST['username']);
			$password = $_POST['password'];
		}
		//On recupere le mot de passe de lutilisateur
		$req = mysql_query('select password,id from users where username="'.$username.'"');
		$dn = mysql_fetch_array($req);
		//On le compare a celui quil a entre et on verifie si le membre existe
		if($dn['password']==$password and mysql_num_rows($req)>0)
		{
			//Si le mot de passe es bon, on ne vas pas afficher le formulaire
			$form = false;
			//On enregistre son pseudo dans la session username et son identifiant dans la session userid
			$_SESSION['username'] = $_POST['username'];
			$_SESSION['userid'] = $dn['id'];
			
?>




<?php
		}
		else
		{
			//Sinon, on indique que la combinaison nest pas bonne
			$form = true;
			$message = 'La combinaison que vous avez entr&eacute; n\'est pas bonne !!! ';
		}
	}
	else
	{
		$form = true;
	}
	if($form)
	{
		//On affiche un message sil y a lieu
	if(isset($message))
	{
		echo '<div class="message2">'.$message.'</div>';
	}
	//On affiche le formulaire
?>

...
Modifié par Zed1 (18 Nov 2011 - 17:23)