Page 1 sur 1

Bug Bannissement par BDD reprise connexion

Posté : 29 juin 2012, 11:56
par totooooooo1
Bonjour,

Ayant creer un champs dans ma BBD "Banni" j'aimerais que se champ soit repris lors de la connexion, voila mon script de connexion mais je n'ai pas réussi a reprendre le champs "Banni"
<?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">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
        <title>Connection</title>
    </head>
    <body>
    	<div class="header">
        	<a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a>
	    </div>
	  
	    <?php
//Si lutilisateur est connecte, on le deconecte
if(isset($_SESSION['username']))
{
	//On le deconecte en supprimant simplement les sessions username et userid
	unset($_SESSION['username'], $_SESSION['userid']);
?>
<div class="message">Vous avez bien &eacute;t&eacute; d&eacute;connect&eacute;.<br />
<a href="<?php echo $url_home; ?>">Accueil</a></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'];
	
	    
?>
<div class="message">Vous avez bien &eacute;t&eacute; connect&eacute;. Vous pouvez acc&eacute;der &agrave; votre espace membre.<br />
<a href="<?php echo $url_home; ?>">Accueil</a></div>
<?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="message">'.$message.'</div>';
	}
	//On affiche le formulaire
?>
<div class="content">
    <form action="connexion.php" method="post">
        Veuillez entrer vos identifiants pour vous connecter:<br />
        <div class="center">
            <label for="username">Nom d'utilisateur</label><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br />
            <label for="password">Mot de passe</label><input type="password" name="password" id="password" /><br />
            <input type="submit" value="Connection" />
		</div>
    </form>
</div>
<?php
	}
}
?>
		<div class="foot"><a href="<?php echo $url_home; ?>">Retour &agrave; l'accueil</a> - <a href="sign_up.php ">Inscription</a></div>
	</body>
</html>
Et mon script pour empecher des actions par un banni
<?php


if(isset($_SESSION['username']) and $_SESSION['Banni']==1)
{
?>

Banni voient
<?php
}
else
{
?>
Non banni voit
<?php
}
?>
Que faut-il ajouter dans mon script de connexion SVP

Re: Bug Bannissement par BDD reprise connexion

Posté : 29 juin 2012, 15:22
par moogli
Salut,

Le plus simple étant de refuser la connexion aux utilisateurs banni.
Il suffit pour cela de récupérer ce champ au moment de la vérification du mot de passe.
Si la valeur indique que le membre est banni tu lui indique gentille ment d'aller voir ailleurs ;)

Tu peux aussi utiliser un where dans ta requête SQL pour exclure d'emblé mais c'est pas cool si tu ne met pas de message d'erreur explicatie (et la c'est pas possible).

@+

Re: Bug Bannissement par BDD reprise connexion

Posté : 29 juin 2012, 16:18
par totooooooo1
Mais, je veux justement qu'il puisse y aller, tu n'as pas le code pour que quand je mette
<?php


if(isset($_SESSION['username']) and $_SESSION['Banni']==1)
{
?>

Banni voient
<?php
}
else
{
?>
Non banni voit
<?php
}
?>
Bah sa marche S'il te plait. Merci d'avance.

Re: Bug Bannissement par BDD reprise connexion

Posté : 29 juin 2012, 17:47
par moogli
Mais, je veux justement qu'il puisse y aller, tu n'as pas le code pour que quand je mette
ha, et non

le tout cuit c'est pas le style de la maison, le but c'est que tu comprenne.

ce qu'il y a modifier c'est la dedans

Code : Tout sélectionner

<?php $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']; ?>
Ta requete SQL DOIT retourner le contenu du champ que tu a ajouter à ta table (Banni).

si tu ne sais pas ce qu'est une requete SQL tu peux commencer par la => http://www.phpdebutant.org/article62.php et les tutos suivant.

@+

Re: Bug Bannissement par BDD reprise connexion

Posté : 30 juin 2012, 01:26
par totooooooo1
Merci pour la partie a modifier le reste (j'éssaie) de le faire seul :)

Re: Bug Bannissement par BDD reprise connexion

Posté : 30 juin 2012, 01:30
par totooooooo1
MERCI J'AI COMPRIS TOUT SEUL TU GÈRE MERCI VRAIMENT MERCI EN PLUS J'AI COMPRIS !!!! JE GERE A LA MERCI VRAIMENT TU M'AS SAUVÉ VRAIMENT MERCI MERCI =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D> =D>