[SQL/PHP] Problème pour partie administration
Quentbe
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je crée un site et je voudrais que lorsqu'on se connecte si notre compte est administrateur il affiche un lien pour accéder à l'administration.
J'ai donc créé une table membres dans ma base de donnés voici ce qu'elle contient :
(Si le droit est à zéro on est membre, si il est à un on est administrateur)
Quand on se connecte le site enregistre le pseudo dans la variable $_SESSION['login']
et il la détruit quand on se déconnecte.
J'avais essayé ceci pour afficher le lien mais ça l'affiche même si on n'est pas administrateur.
Je voudrais donc savoir comment l'afficher que lorsque l'on est administrateur.
Je voudrais aussi savoir comment faire pour remplacer les ' par des \' automatiquement et <br /> quand on appuie sur Entrée car j'ai fait un système de news et je suis toujours obligé de remplacer les ' par des \' manuellement ou rajouter des <br /> à la fin de mes phrases.
Voilà merci d'avance et bonne soirée.
Je crée un site et je voudrais que lorsqu'on se connecte si notre compte est administrateur il affiche un lien pour accéder à l'administration.
J'ai donc créé une table membres dans ma base de donnés voici ce qu'elle contient :
ID int(11) NOT NULL auto_increment PRIMARY KEY pseudo varchar(100) NOT NULL pass varchar(100) NOT NULL date_enregistrement datetime NOT NULL CURRENT_TIMESTAMP droits enum('0', '1') DEFAULT 0
(Si le droit est à zéro on est membre, si il est à un on est administrateur)
Quand on se connecte le site enregistre le pseudo dans la variable $_SESSION['login']
et il la détruit quand on se déconnecte.
J'avais essayé ceci pour afficher le lien mais ça l'affiche même si on n'est pas administrateur.
<?php function admin(){ require "config.php"; mysql_connect(DB_HOST, DB_LOGIN, DB_PASS); mysql_select_db(DB_BDD); $pseudo=$_SESSION['login']; $admin = mysql_query("SELECT pseudo FROM membres WHERE droits=1"); if ($admin=$pseudo) { echo "<a href=\"admin/index.php\">Administration</a>"; } else { } } if(!isset($_SESSION['login'])) { } else { admin(); } ?>
Je voudrais donc savoir comment l'afficher que lorsque l'on est administrateur.
Je voudrais aussi savoir comment faire pour remplacer les ' par des \' automatiquement et <br /> quand on appuie sur Entrée car j'ai fait un système de news et je suis toujours obligé de remplacer les ' par des \' manuellement ou rajouter des <br /> à la fin de mes phrases.
Voilà merci d'avance et bonne soirée.
A voir également:
- [SQL/PHP] Problème pour partie administration
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Vous ne pouvez pas modifier une partie de matrice - Forum Excel
- Nouvelle partie pokemon x - Forum Pokémon
7 réponses
bonjour,
êtes vous sûr que
$admin = mysql_query("SELECT pseudo FROM membres WHERE droits=1");
vous retourne le pseudo ?
avez-vous affucher $admin pour voir.
êtes vous sûr que
$admin = mysql_query("SELECT pseudo FROM membres WHERE droits=1");
vous retourne le pseudo ?
avez-vous affucher $admin pour voir.
Salut,
A première vue ca me semble enter ta fonction qui ne fonctionne pas
esseait un truc du genre:
$connexion = mysql_connect('localhost', 'root', '');
mysql_select_db('Le_nomTable');
$pseudo=$_SESSION['login'];
$query = 'SELECT droits FROM membres WHERE pseudo = \'.$pseudo.\';';
$requete = mysql_query($query);
if($requete)
{
while($donnees_messages = mysql_fetch_assoc($requete))
{
if("0" == $donnees_messages['droits'])
{
//c'est ok il est admin
}
je suis pas sur si sa fonctionne mais c'Est dans le genre
A première vue ca me semble enter ta fonction qui ne fonctionne pas
esseait un truc du genre:
$connexion = mysql_connect('localhost', 'root', '');
mysql_select_db('Le_nomTable');
$pseudo=$_SESSION['login'];
$query = 'SELECT droits FROM membres WHERE pseudo = \'.$pseudo.\';';
$requete = mysql_query($query);
if($requete)
{
while($donnees_messages = mysql_fetch_assoc($requete))
{
if("0" == $donnees_messages['droits'])
{
//c'est ok il est admin
}
je suis pas sur si sa fonctionne mais c'Est dans le genre
cela veut donc dire qu'on vous retourne un tableau et non le pseudo
et comme la requ$ete peur retourner plusieurs lignes il faut détailler.
faites
echo "<pre>";print_r($admin);echo "</pre>";
et vous verrez le contenu du tableau.
et comme la requ$ete peur retourner plusieurs lignes il faut détailler.
faites
echo "<pre>";print_r($admin);echo "</pre>";
et vous verrez le contenu du tableau.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai trouvé
Voilà
Merci à vous deux mais quelqu'un aurait la réponse pour ma deuxième question ?
Merci d'avance
<?php require "config.php"; mysql_connect(DB_HOST, DB_LOGIN, DB_PASS); mysql_select_db(DB_BDD); $pseudo=$_SESSION['login']; $query = "SELECT membre_droits FROM membres WHERE pseudo ='$pseudo'"; $requete = mysql_query($query) or die(mysql_error()); $donnees = mysql_fetch_assoc($requete); if($donnees['membre_droits'] == 1) { echo "<a href=\"admin/index.php\" align=\"center\">Administration</a>"; } else { } ?>
Voilà
Merci à vous deux mais quelqu'un aurait la réponse pour ma deuxième question ?
Merci d'avance
pour la seconde question , regarde côté addslashes
http://www.manuelphp.com/php/function.addslashes.php
http://www.manuelphp.com/php/function.addslashes.php
Bonjour,
Pour ma part j'aurai fait encore plus simple en stockant dans une variable de session le droit du membre lors de sa première connexion : $_SESSION['droit'].
Ensuite à chaque fois que tu souhaites afficher quelque chose pour l'admin il te suffit juste de faire un if($_SESSION['droit'] == 1)
Bon courage ;)
Pour ma part j'aurai fait encore plus simple en stockant dans une variable de session le droit du membre lors de sa première connexion : $_SESSION['droit'].
Ensuite à chaque fois que tu souhaites afficher quelque chose pour l'admin il te suffit juste de faire un if($_SESSION['droit'] == 1)
Bon courage ;)