[SQL/PHP] Problème pour partie administration

Fermé
Quentbe Messages postés 3 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 10 février 2010 - 9 févr. 2010 à 17:54
 Utilisateur anonyme - 10 févr. 2010 à 14:34
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.
A voir également:

7 réponses

giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
9 févr. 2010 à 17:59
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 mardi 9 février 2010 Statut Membre Dernière intervention 10 février 2010
9 févr. 2010 à 18:02
Cela m'affiche Array
0
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 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
9 févr. 2010 à 18:05
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 mardi 9 février 2010 Statut Membre Dernière intervention 10 février 2010
10 févr. 2010 à 14:22
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 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
10 févr. 2010 à 14:26
pour la seconde question , regarde côté addslashes
http://www.manuelphp.com/php/function.addslashes.php
0
Utilisateur anonyme
10 févr. 2010 à 14:34
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