Vérification admin/membre

Résolu/Fermé
ProgProject Messages postés 71 Date d'inscription vendredi 8 août 2014 Statut Membre Dernière intervention 20 juillet 2017 - Modifié par html42 le 12/08/2014 à 16:37
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 19 août 2014 à 11:57
Bonjour,

Je suis un jeune développeur web de 14 ans.

Je suis entrain de faire un réseau social.

j'ai déjà fait ma page index (connexion/inscription)

et mes page de membre (membre.php) et admin (admin.php) .

Bref tout fonctionne mais je voudrais protégé les deux pages:


membre.php:

Seul les membres connecté peuvent accéder à cette page .

admin.php:

Seul l'Administrateur peut accéder à cette page.

Voici mon script de connexion:

<?php 

session_start();

if(isset($_POST['submit']))

{

$username = mysql_real_escape_string(trim($_POST['pseudo']));

$password = mysql_real_escape_string(trim($_POST['password']));

$password = md5($password);

if(empty($username))

{

echo "<font color='red'>Veuillez saisir un pseudo !</font>";

}else if(empty($password))

{

echo "<font color='red'>Veuillez saisir un Mot de Passe !</font>";

}else{

$connect2;

$log = mysql_query("SELECT * FROM user WHERE username='$username' AND

password='$password' AND profil='0' ");

$log1 = mysql_query("SELECT * FROM user WHERE username='$username'

AND password='$password' AND profil='1' ");

$rows = mysql_num_rows($log);

$rows1 = mysql_num_rows($log1);



if($rows==1)

{

$_SESSION['username'] = $username;

header('Location:membre.php');

}

elseif($rows1==1) {

$_SESSION['username'] = $username;



header('Location:admin.php');

}else echo"<font color='red'>Pseudo ou Mot de Passe incorrect !</font>";

}

}

?>

<font

style="color:white">Pseudo Mot de Passe</font>

<form method="post" action="">

<input style="width:210px;height:30px;" type="text" name="pseudo"

placeholder="Votre Pseudo" value="<?php if(isset($_POST['submit'])){echo

$_POST['username'];} ?>"/>

<input style="width:210px;height:30px;" type="password" name="password"

placeholder="Votre Mot de passe" />

<input style="background-color:#3b5998;color:white" type="submit"

name="submit" value="Connexion" />

</form>

Et voici ma table:

CREATE TABLE IF NOT EXISTS 'user' (

'id' int(11) NOT NULL AUTO_INCREMENT,

'username' varchar(255) COLLATE utf8_unicode_ci NOT NULL,

'email' varchar(255) COLLATE utf8_unicode_ci NOT NULL,

'password' varchar(255) COLLATE utf8_unicode_ci NOT NULL,

'desc' text COLLATE utf8_unicode_ci NOT NULL,

'jour' varchar(2) COLLATE utf8_unicode_ci NOT NULL,

'mois' varchar(2) COLLATE utf8_unicode_ci NOT NULL,

'ans' varchar(4) COLLATE utf8_unicode_ci NOT NULL,

'profil' int(11) NOT NULL DEFAULT '2',

PRIMARY KEY ('id')

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

ROW_FORMAT=DYNAMIC AUTO_INCREMENT=2 ;

Si vous avez une solution.

PS: Si vous avez un script il est le bien venu

4 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
19 août 2014 à 11:57
si je comprend bien, depuis ton micro tu te connectes, en admin par exemple ça va bien sur admin.php. et ensuite tu tapes directement admin.php dans ton navigateur et ça autorise l'accès.

C'est normal, ta session est ouverte.

essayes en fermant le navigateur et en accédant directement à admin.php tu verra.
1
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
13 août 2014 à 19:16
c'est bien joli tout ça mais qu'appelle tu protéger ?
0
ProgProject Messages postés 71 Date d'inscription vendredi 8 août 2014 Statut Membre Dernière intervention 20 juillet 2017 2
15 août 2014 à 10:21
c'est écrit
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
18 août 2014 à 14:55
salut modifies ainsi ta page connexion:
if($rows==1)

{ 
//membre
$_SESSION['username'] = $username; 

header('Location:membre.php');
}

elseif($rows1==1) {
//admin
$_SESSION['username'] = $username; 
$_SESSION['profil'] = 1; 

header('Location:admin.php');
.......


ET

<?php 
//a mettre dans TOUTES tes pages membre
session_start(); 
if(empty($_SESSION['username'])){
	//la variable de session n'existe pas ou est vide,( on tente d'accéder à cette page sans passer par le script de connexion)
	//renvoi vers la page de connexion
	header('Location:index.php');
}else {
	//le membre est bien identifié
	
	//ici le contenu de ta page membre
	
	
} //ne pas oublier cette } en fin de code


ET

<?php 
//a mettre dans TOUTES tes pages ADMIN
session_start(); 
if(empty($_SESSION['username']) OR (empty($_SESSION['profil']) AND $_SESSION['profil']!=1)){
	//les variables de session username et profil sont inexistantes ou vides( on tente d'accéder à cette page sans passer par le script de connexion)
	//renvoi vers la page de connexion
	header('Location:index.php');
}else {
	//l'admin est bien identifié
	
	//ici le contenu de ta page admin
	
	
} //ne pas oublier cette } en fin de code
0
ProgProject Messages postés 71 Date d'inscription vendredi 8 août 2014 Statut Membre Dernière intervention 20 juillet 2017 2
19 août 2014 à 11:39
oui sa fonctionne au début mais quand on va directement sur la page (admin.php) sans se connecter sa nous envoie sur admin.php donc sa n'est pas protéger.
ET quand c'est un membre qui se connecte et qu'il va sur admin.php il accede a tout.
0