Page 1 sur 1

condition admin id unique bonne mais pas le numéro des droit

Posté : 09 févr. 2011, 05:07
par aurel80
bonjour,

alors voilà j'ai mon code qui est créer,problème pour les id unique il à pas de soucis mais pour le numero d'accès,par exemple 1 2 ou 3,ben ça ne va pas même si j'ai le numéro 1 j'ai accès à la page j'arrive pas du tout a réglé le problème,je devrai avoir obligatoirement le numéro 2 pour y avoir accès merci de m'aidé voici mon code :
<fieldset>
<?php

// je me connecte sous mysql.
require('include/mysql.php');

			  // je déclare la variable que je vais me servir dans le champ droit de mysql.
			  $droit = '2';
			  
			  // je crée la requête qui va regarder que la personne à bien les doit require pour accéder à la page.
			  $verifdroit = $bdd->prepare('SELECT id FROM menbre WHERE droit = 2 AND id');
			  $verifdroit->execute(array('droit' => $droit,
										 'id' => $_SESSION['id']));
			  $verification = $verifdroit->fetch();

			  
// je vérifie que la personne est bien connecté	et que il à les droit require.		  
if(!isset($_SESSION['login'])) {
	echo '<center><h3><font color="#ff0000"><< Vous devez être connecté pour voir cette page. >></font></h3></center>';
			// je fait la condition pour vérifier que la personne à les droit require. et je vérifie sont id unique.
			} elseif ($verification && isset($_SESSION["id"]) && ($_SESSION["id"] == "4") || ($_SESSION["id"] == "6")) { 
?>

<br />
<br />
<h2><a href="index.php?page=add-news">Ajouter une news</a></h2>
<table border="2" cellspacing="5" ><tr>
<th>Modifier&nbsp;&nbsp;</th>
<th>Supprimer&nbsp;&nbsp;</th>
<th>Titre :&nbsp;&nbsp;</th>
<th>Date :&nbsp;&nbsp;</th>
</tr>
<?php

$req = $bdd->query('SELECT * FROM news ORDER BY id DESC');
while ($donnees = $req->fetch())
{
sscanf($donnees['date'], "%4s-%2s-%2s %2s:%2s:%2s",  $an, $mois, $jour, $heure, $min, $sec);
?>
<tr border="2">
<td><?php echo '<a href="index.php?page=add-news&update-news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="index.php?page=delete-news&supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo $donnees['date']; ?></td>
</tr>
<?php
	}
?>
</table>
<br />
<br />
<?php
        // si il à pas les droit require pour accéder à cette page j'affiche cette erreur.
		} else {
	echo '<center><h3><font color="#ff0000"><< Vous avez pas les droit require pour accéder à cette page ! >></font></h3></center>';
	}
?>
</fieldset>

Re: condition admin id unique bonne mais pas le numéro des droit

Posté : 09 févr. 2011, 10:26
par xTG
Il serait bon de relire le fonctionnement des fonctions PDO que tu utilises.
$verifdroit = $bdd->prepare('SELECT id FROM menbre WHERE droit = 2 AND id');
                          $verifdroit->execute(array('droit' => $droit,
                                                                                 'id' => $_SESSION['id']));
La seconde fonction comporte des paramètres qui ne peuvent être remplacés dans la requête...
D'autre part, ta requête est incorrecte et devrait te générer une erreur sur "AND id".

Re: condition admin id unique bonne mais pas le numéro des droit

Posté : 09 févr. 2011, 19:10
par aurel80
non aucune erreur ^^ mais je veut juste essayer de réglé se problème mais j'arrive pas je peut avoir de l'aide s'il vous plait?

Re: condition admin id unique bonne mais pas le numéro des droit

Posté : 09 févr. 2011, 19:34
par xTG
Comme je te l'avais dit dans le dernier topic le soucis vient de ton utilisation des fonctions PDO que tu ne sembles pas du tout comprendre.
PDOStatement->fetch()

Et si tu veux te rendre compte de ton erreur :
print_r($verification);

Re: condition admin id unique bonne mais pas le numéro des droit

Posté : 10 févr. 2011, 07:04
par aurel80
j'ai rien compris à l'erreur :
Array ( [id] => 6 [0] => 6 ) 

Re: condition admin id unique bonne mais pas le numéro des droit

Posté : 10 févr. 2011, 08:57
par xTG
Voilà ce que tu as programmé comme condition :
if( Array && ....)
Cela ne veut rien dire.

Dans une condition il faut comparer à une valeur, ou alors utiliser une variable booléenne, tu n'utilises aucun des deux.