Acces page si login définit
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
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
salut et merci de ton aide
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à ? ^^
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
<?
}
?>
Comme l'a dit bibi, ou est ce que tu définies $_SESSION['Webmaster'] ?
Koboneil
je remplace $login = $donnees['login'];
par
$webmaster = $donnees['login'];
?
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
le 23/12/2004 à 19:23
bibi
relis le cours sur les sessions, je pense que tu comprendras mieux comment ca marche
commit suicide
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
<?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');
?>
<?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 !
Il en faut peu pour être heureux !!!!!
merde 3 heures pour faire une réponse et voila bibi me passe 2fois sous le nez
Il en faut peu pour être heureux !!!!!