Bug Bannissement par BDD reprise connexion

totooooooo1
Invité n'ayant pas de compte PHPfrance

29 juin 2012, 11:56

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 juin 2012, 15:22

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).

@+
Il en faut peu pour être heureux ......

totooooooo1
Invité n'ayant pas de compte PHPfrance

29 juin 2012, 16:18

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.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 juin 2012, 17:47

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.

@+
Il en faut peu pour être heureux ......

totooooooo1
Invité n'ayant pas de compte PHPfrance

30 juin 2012, 01:26

Merci pour la partie a modifier le reste (j'éssaie) de le faire seul :)

totooooooo1
Invité n'ayant pas de compte PHPfrance

30 juin 2012, 01:30

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>