[SQL/PHP] Problème pour partie administration

Quentbe Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
 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 :

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.
Configuration: Windows 7
Firefox 3.5.7

7 réponses

  1. giheller Messages postés 1892 Date d'inscription   Statut Membre Dernière intervention   146
     
    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.
    0
  2. Quentbe Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
     
    Cela m'affiche Array
    0
  3. PRO_PHP
     
    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
    0
  4. giheller Messages postés 1892 Date d'inscription   Statut Membre Dernière intervention   146
     
    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.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Quentbe Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
     
    J'ai trouvé

    	<?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
    0
  7. Utilisateur anonyme
     
    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 ;)
    0