Affichage d'un lien sous condition

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Affichage d'un lien sous condition

par DrEAM's » 13 juil. 2008, 14:28

c'est bon merci ;)

par dunbar » 13 juil. 2008, 13:29

Je t'ai donner une solution cherche un tout petit peu quand-même :?

par DrEAM's » 13 juil. 2008, 03:27

oui c'est bien un session_start()
Voilà les codes sources des deux pages concernés:
PS: désoler ça fait un petit peu brouillon :s
<?php
require('config.php');
session_start(); // On relaye la session
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Boutique <?php echo $nom_serveur  ?></title>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.Style2 {font-weight: bold; color: #000000;}
.Style3 {
	color: #0000FF;
	font-weight: bold;
}
.Style4 {
	color: #FF9966;
	font-weight: bold;
}
.Style9 {color: #FF3333; font-weight: bold; }
-->
</style>
</head>
<!--Debut CSS - http://www.jejavascript.net/ //-->
<link rel="stylesheet" href="./style.css" type="text/css">
<!--Fin CSS - http://www.jejavascript.net/ //-->
<center><body>
<body onselectstart="return false" oncontextmenu="return false" ondragstart="return false" onMouseOver="window.status='&copy;<?php echo $nom_serveur  ?>'; return true;" >   
  <div id="contenu">
  <table width="784" cellpadding="0" cellspacing="0">
<center>
              <tr>
                <td colspan="2"><h1>La boutique <?php echo $nom_serveur  ?></h1></td>
              </tr>
              <tr>
                <td colspan="2"><p>&nbsp;</p>
                <p>Bienvenue dans la boutique <?php echo $nom_serveur  ?>.</p>
                <p>Cette boutique automatis&eacute;e vous permettra d'acheter une multitude d'articles dont vous pourrez utiliser avec vos personnages.</p>
                <p align="center">Connectez-vous !
                <p align="center">
				<?php
$connexion=mysql_connect($host,$user,$pass_user)or die("connexion impossible");
   mysql_select_db($logon,$connexion)or die("connexion à la base impossible");
            if (isset($_POST['username']))
            {
            $uname = addslashes($_POST['username']); // mise en variable du nom d'utilisateur saisi
			$password = $_POST['password']; // mise en variable du mot de passe crypt&eacute; saisi
			$gm = $_POST['gm']; // récupération du niveau du compte
            $verif = mysql_query("SELECT * FROM accounts WHERE login='$uname' AND password='$password'") or die (mysql_error()); // requête sur la base administrateurs
            $row_verif = mysql_fetch_assoc($verif);
			$utilisateur = mysql_num_rows($verif);
				if ($utilisateur) // On test s'il y a un utilisateur correspondant
				{
			// d&eacute;claration des variables de session
			$_SESSION['uname'] = stripslashes($row_verif['login']); // Son Login
			$_SESSION['id_compte'] = $row_verif['acct'];
			$_SESSION["points"]=$row_verif["points"];
			//header("Location:boutique2.php"); //redirection vers la page d'accueil du joueur
			echo '<meta http-equiv="refresh" content="0; url=boutique2.php" />';
				}
				else
				{
						echo'<em>Connexion &eacute;chou&eacute;. Vous avez du entrer un mauvais login ou mot de passe</em>';
				}
			}
			?>
                
                <form id="form2" name="form2" method="post" action="">
  <div align="center">
    <table width="361">
      <tr>
        <td width="112" bgcolor="#FFFFCC"><div align="center"><span class="Style2">Nom compte</span></div></td>
          <td width="233" bgcolor="#FFFFCC"><input name="username" type="text" id="username" size="35" />      </td>
        </tr>
      <tr>
        <td bgcolor="#FFFFCC"><div align="center"><span class="Style2">Mot de passe</span></div></td>
          <td bgcolor="#FFFFCC"><input name="password" type="password" id="password" size="35" /></td>
        </tr>
    </table>
  </div>
  <p align="center"><input type="submit" name="bouton" id="bouton" value="Se connecter !" />
  </p>
  </form>&nbsp;</p></td>
              </tr>
            </table>
        	</div>
</center>
</body>
</html>
Page ou je souhaite avoir le lien quand la personne est de niveau az ou a:
<?php
require('config.php');

$connexion=mysql_connect($host,$user,$pass_user)or die("connexion impossible");
session_start(); // On relaye la session
   mysql_select_db($logon,$connexion)or die("connexion à la base impossible");

$uname = $_SESSION['uname'];
$id_compte = $_SESSION['id_compte'];

$verif = mysql_query("SELECT * FROM accounts WHERE login='$uname' AND acct='$id_compte'") or die (mysql_error()); // requ&ecirc;te sur la base administrateurs
$row_verif = mysql_fetch_assoc($verif);

$_SESSION['points'] = $row_verif['points'];

?>
<?php
			if (isset($_SESSION['uname']))
			{
			$id_compte = $_SESSION['id_compte'];
			?>
			<?php
}
else
{//Si ce n'est pas connect&eacute;...
header("Location:boutique.php"); //redirection vers la page d'accueil du joueur
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Boutique <?php echo $nom_serveur  ?></title>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.Style1 {
	color: #000000;
	font-size: 14px;
	font-weight: bold;
}
.Style2 {
	color: #00CCFF;
	font-weight: bold;
}
-->
</style>
</head>
<body>
<body onselectstart="return false" oncontextmenu="return false" ondragstart="return false" onMouseOver="window.status='&copy;
<?php echo $nom_serveur  ?>'; return true;" >  </body>
      <div id="contenu">
  <table width="784" cellpadding="0" cellspacing="0">
         <center>
              <tr>
                <td colspan="2"><h1>La boutique <?php echo $nom_serveur  ?></h1></td>
              </tr>
              <tr>
                <td valign="top"><a href="?deco=1">Se d&eacute;connecter</a></td>
                <td valign="top"> <div align="center">Vous &ecirc;tes connect&eacute; sous le compte <strong><?php echo $_SESSION['uname']; ?></strong></div></td>
              </tr>
              <tr>
                <td colspan="2" valign="top"><p align="center">
                
                <?php
                if($_GET['deco'] == 1)
{ 
	session_destroy();
						echo '<meta http-equiv="refresh" content="0; url=boutique.php" />';
}
?>&nbsp;<strong>Bienvenue dans la boutique <?php echo $nom_serveur  ?>.</strong><br />
                Vos points => <span class="Style2"><?php echo $_SESSION['points']; ?></span></p>
                <p align="center">Choisissez le personnage dans lequel vous voulez que les articles soient envoy&eacute;s.</p>
                <div align="center">
                  <?php
			$id_compte = $_SESSION['id_compte'];
			            mysql_select_db($character,$connexion)or die("connexion à la base impossible");
                				$req = mysql_query("SELECT guid, acct, class, name, race, level FROM characters WHERE acct='$id_compte' ORDER BY name ASC") or die (mysql_error());
$i = 0;
// On &eacute;crit les liens vers chacune des pages
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 10; // Essayez de changer ce nombre pour voir :o)
// On r&eacute;cup&egrave;re le nombre total de messages
$retour = mysql_query("SELECT COUNT(*) AS nb_users FROM characters") or die (mysql_error());
$rep = mysql_fetch_array($retour);
$totalDesMessages = $rep['nb_users'];
// On calcule le nombre de pages &agrave; cr&eacute;er
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour &eacute;crire les liens vers chacune des pages
echo '';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
echo '';
}
?>
                  </p>
                </div>
                <p align="center">
                  <?php if (isset($_POST['page_news']))
{
$page = $_POST['page_news']; // On r&eacute;cup&egrave;re le num&eacute;ro de la page indiqu&eacute; dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la premi&egrave;re fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par d&eacute;faut)
}
///////////////////////////////////////
// mise en place des race et classes
$race = array (
  		1 => 'Humain',
		2 => 'Orc',
		3 => 'Nain',
		4 => 'Elfe de la nuit',
		5 => 'Mort vivant',
		6 => 'Tauren',
		7 => 'Gnome',
		8 => 'Troll',
		9 => 'Gnome', // A v&eacute;rifier !!
		10 => 'Elfe de sang',
		11 => 'Draenei',
		
		);
	
$classe = array (
        1 => 'Guerrier',
		2 => 'Paladin',
		3 => 'Chasseur',
		4 => 'Voleur',
		5 => 'Pr&ecirc;tre',
		7 => 'Chaman',
		8 => 'Mage',
		9 => 'D&eacute;moniste',
		11 => 'Druide',
		);
		

////////////////////////////////////////
// On calcule le num&eacute;ro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$req = mysql_query("SELECT * FROM characters WHERE acct='$id_compte' ORDER BY name ASC") or die (mysql_error());
echo' <table width="500" border="1" align="center">';
echo'<tr><th width="121" bgcolor="#54222D" scope="col">Nom personnage</th>
<th width="65" bgcolor="#54222D" scope="col">Level</th>
<th width="93" bgcolor="#54222D" scope="col">Race</th>
<th width="93" bgcolor="#54222D" scope="col">Classe</th>
<th width="94" bgcolor="#54222D" scope="col">&nbsp;</th></tr>';	

while ($rep = mysql_fetch_array($req)) //while ($donnees = mysql_fetch_array($reponse))
{	
$race_req = $rep['race'];
		$classe_req = $rep['class'];
echo'<tr><td bgcolor="#FFFFCC"><div align="center" class="Style1">'.$rep['name'].'</div></td>
<td bgcolor="#FFFFCC"><div align="center" class="Style1">'.$rep['level'].'</div></td>
<td bgcolor="#FFFFCC"><div align="center"><span class="Style1">'. $race[''.$race_req.''] .'</span></div></td>
<td bgcolor="#FFFFCC"><div align="center"><span class="Style1">'. $classe[''.$classe_req.''] .'</span></div></td>
<td bgcolor="#FFFFCC"><div align="center" class="Style1">
<a href="boutique3.php?numperso='.$rep['guid'].'">Choisir</a></div></td></tr>';
$i++;
}
echo' </table>';
if ($i == 0)
{
echo 'Aucun personnage trouv&eacute;...';
}
 ?>
                </p>
               
                <p>&nbsp;</p></td>
              </tr>
            </table>
        	</div>
</center>
</body>
</html>
Merci de ton aide!

par dunbar » 13 juil. 2008, 02:15

Salut,
Quelque chose du genre avec un session_start() par exemple :?:
le 3 correspondrait a un administrateur donc si tu ne possede pas le niveau 3 le lien ne s'affiche jamais.
La variable $droit va chercher le niveau grâce a la session.
switch ($droit) {
  default :
    break;
  case 3:
    echo '<li><a href="admin.php">Administration</a><br/>';   

  case 2:
    echo '<li><a href=""></a><br/>';
    

  case 0:
    echo '<li><a href=""></a><br/>';
    
}

Affichage d'un lien sous condition

par DrEAM's » 13 juil. 2008, 01:24

Bonjour,

J'espère avoir poster dans la partie mon problème :roll:

Donc comme le dit le nom de mon poste pour la boutique que j'ai partager sur le forum j'ai besoin d'afficher un lien vers la partie administration seulement si le compte de la personne qui c'est connecter a dans la case correspondant a son niveau "gm" (donc colone gm) un niveau égale a "a" ou "az", car afficher une partie administration au joueurs ça la fout mal x)

J'espère avoir bien expliquer mon problème et avoir une réponse rapide ;)