Acces page si login définit

Répondre
phpzenoob
le 23/12/2004 à 17:41
phpzenoob
Salut à tous, voilà enfait je voudrais faire un systeme ou chaque membre aurait sa page et je voudrait que chaque membre puisse administrez sa page.

par exemble si je suis logez avec la session en tant que Webmaster, je veut qu'il y ait que Webmaster (moi) qui puisse administrez cette page.

j'ai essayez sa

<?     
session_start();

include ('config.php');

$sql = "SELECT login FROM membre ORDER BY id DESC";

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query("SELECT * FROM membre ORDER BY id DESC") or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$donnees = mysql_fetch_array($req);
$login = $donnees['Webmaster'];

if (!isset($_SESSION['Webmaster'])) { //le login n'est pas défini

echo" Tu n'es pas Webmaster et donc tu ne peux pas administrer cette page !";


}
else { //sinon il est défini

?>



<br>

Bienvenue dans l'administration de ta page

<?
}
?>


le script marche pas, j'ai aucun message mais ca me met ce message
Tu n'es pas Webmaster et donc tu ne peux pas administrer cette page !
alors que chu logez en tant que Webmaster

merci
bibi
le 23/12/2004 à 17:45
bibi
deja, prkoi défini la variable $sql si tu t'en sers pas , premierement.

Ensuite , ou est-ce que tu déclares ta variable de session car la tu test son existence mais tu ne nous montre pas ton script

:)
commit suicide
phpzenoob
le 23/12/2004 à 17:52
phpzenoob
salut et merci de ton aide smiley

donc je suprime cette ligne si j'ai bien compris : $sql = "SELECT login FROM membre ORDER BY id DESC";

le code au complet que j'ai modifié

<?     
session_start();

include ('config.php');

$sql = "SELECT login FROM membre ORDER BY id DESC";

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query("SELECT * FROM membre ORDER BY id DESC") or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$donnees = mysql_fetch_array($req);
$login = $donnees['login'];

if (!isset($_SESSION['Webmaster'])) { //le login n'est pas défini

echo" Tu n'es pas Webmaster et donc tu ne peux pas administrer cette page !";


}
else { //sinon il est défini

?>



<br>

Bienvenue dans l'administration de ta page

<?
}
?>


c'est bon là ? ^^
phpzenoob
le 23/12/2004 à 17:53
phpzenoob
oups dsl du flood mais j'ai oubliez de delete la ligne

<?     
session_start();

include ('config.php');

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query("SELECT * FROM membre ORDER BY id DESC") or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$donnees = mysql_fetch_array($req);
$login = $donnees['login'];

if (!isset($_SESSION['Webmaster'])) { //le login n'est pas défini

echo" Tu n'es pas Webmaster et donc tu ne peux pas administrer cette page !";


}
else { //sinon il est défini

?>



<br>

Bienvenue dans l'administration de ta page

<?
}
?>
Koboneil
le 23/12/2004 à 18:20
Koboneil
Comme l'a dit bibi, ou est ce que tu définies $_SESSION['Webmaster'] ?
Koboneil
phpzenoob
le 23/12/2004 à 18:33
phpzenoob
je remplace $login = $donnees['login'];
par
$webmaster = $donnees['login'];

?
bibi
le 23/12/2004 à 19:22
bibi
de plus ca sert a rien de faire un SELECT * si tu te sers uniquement d'un champ "login", fait un SELECT login

et puis si ta requete a un probleme, tu lui demandes d'afficher $sql dans ton or die mais $sql n'est plus définie donc il y aura un nouveau problème
commit suicide
bibi
le 23/12/2004 à 19:23
bibi
relis le cours sur les sessions, je pense que tu comprendras mieux comment ca marche
commit suicide
moogli
le 23/12/2004 à 19:28
moogli
salut,

Il faut que tu sache se que tu veut faire exactement !
Lors de la connection a l'espace membre tu enregistre une variable $_SESSION['webmaster'] = true ou false suivant la personne qui se connecte
alors tu peut l'utilser plutard dans tes scripts.

Tu fait une requete qui récupère tous les login de ta table alors que c'est inutile puisqu'un seul t'intéresse.

Ce qu'il te faut faire
login.php
<?php
//Vérification des champs pour la connection
//ensuite tu enregistres tes variables de session si les login et mdp sont Ok
session_start();
$_SESSION['login'] = $login;
$_SESSION['webmaster'] = true;//si le membre est webmaster si non tu met false
//tu peut utiliser d'autre variable mais évite de mettre le mdp ...
//redirection vers l'espace membre
header('Location: espace_membre.php');
?>

Page_réserver_au_webmaster
<?php
session_start();
if (! isset($_SESSION['webmaster'] || !$_SESSION['webmaster'])
{
echo 'z\'ete pas webmaster oust<br><a href="javascript:history.go;">page précédente</a>';
}
else {
// c'est un webmaster donc tu fait ce que veut !
}
?>


Le teste de la page_reserver_au_webmaster veut dire Si la variable de session webmaster n'existe pas ou si la variable de session webmaster est false alors je met le message d'erreur

le ! permet la négation car dans la session on mis false or il nous faut true pour entrer dans le if !

J'espère être compréhensible !

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 23/12/2004 à 19:32
moogli
merde 3 heures pour faire une réponse et voila bibi me passe 2fois sous le nez smiley

smiley
Il en faut peu pour être heureux !!!!!
Répondre
LoadingChargement en cours