[SQL/PHP] Problème pour partie administration

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

7 réponses

giheller Messages postés 1960 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
Quentbe Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Cela m'affiche Array
0
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
giheller Messages postés 1960 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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
pour la seconde question , regarde côté addslashes
http://www.manuelphp.com/php/function.addslashes.php
0
meudah Messages postés 793 Date d'inscription   Statut Contributeur Dernière intervention   121
 
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