Probleme avec ma page admin

Danzeel Messages postés 4 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 12 avril 2009 - 19 mars 2009 à 19:20
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 19 mars 2009 à 20:21
Bonjour a tous je suis en train de créer mon forum cependant je tombe nez à nez avec un problème.

Voici l'erreur qu'on me mentionne:
Notice: Undefined index: cat in line 21

Voici mon code si quelqu'un peut m'aider ce serait sympa.

<?
session_start();
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Administration";

?>
<?php
//Maintenant, on se connecte à la base de données

include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
?>

<?php
include("includes/debut.php");
?>

      <?php
      $cat = htmlspecialchars($_GET['cat']);
      switch($cat) // 1er switch
      {
      case "config":

      // Ici configuration

      echo 'Configuration du forum

      <form method="post" action="forumok.php?cat=config">';

      //Le tableau associatif

      $config_name = array(
      "avatar_maxsize" => "Taille maximale de l'avatar",
      "avatar_maxh" => "Hauteur maximale de l'avatar",
      "avatar_maxw" => "Largeur maximale de l'avatar",
      "sign_maxl" => "Taille maximale de la signature",
      "auth_bbcode_sign" => "Autoriser le bbcode dans la signature",
      "pseudo_maxsize" => "Taille maximale du pseudo",
      "pseudo_minsize" => "Taille minimale du pseudo",
      "topic_par_page" => "Nombre de topics par page",
      "post_par_page" => "Nombre de posts par page"
      );
      $requete_config= mysql_query('SELECT config_nom, config_valeur FROM forum_config');
      echo '';
      while($data_config = mysql_fetch_assoc($requete_config))
      {
      echo '<label style="width: 275px;">'.$config_name[$data_config['config_nom']].' :</label>
';
      }
      echo '

</form>';

      break;
      case "forum":

      // Ici forum

      $action = htmlspecialchars($_GET['action']); // On récupère la valeur de action
      switch($action) // 2eme switch
      {

      case "creer":

      // Création d'un forum
      // 1er cas : on cherche à créer un forum (c=f)

      if($_GET['c'] == "f")
      {
      $requete = mysql_query('SELECT cat_id, cat_nom FROM forum_categorie
      ORDER BY cat_ordre DESC');
      echo'Création d\'un forum
';
      echo'<form method="post" action="./forumok.php?cat=forum&amp;action=creer&amp;c=f">';
      echo'<label>Nom :</label>

      <label>Description :</label>
      <textarea cols="40" rows="4" name="desc" id="desc"></textarea>

      <label>Catégorie : </label><select name="cat">';
      while($data = mysql_fetch_assoc($requete))
      {
      echo'<option value="'.$data['cat_id'].'">'.$data['cat_nom'].'</option>';
      }
      echo'</select>

      <label>Permission :</label>

            Lire |
      Répondre |
      Poster |
      Annonce |
      Modérer |
      ';
      $data = mysql_fetch_assoc($requete);

      // Ces deux tableaux vont permettre d'afficher les résultats

      $rang = array(\"Bannis\", \"Visiteur\", \"Membre\",
      \"Modérateur\",\"Administrateur\", \"Webmaster\");
      $list_champ = array(\"auth_view\", \"auth_post\", \"auth_topic\",
      \"auth_annonce\", \"auth_modo\");

      // On boucle

      foreach($list_champ as $champ)
      {
      echo'<select name="'.$champ.'">';
      for($i=0;$i<6;$i++)
      {
      if ($i == 1)
      {
      echo'<option value="'.$i.'"
      selected="selected">'.$rang[$i].'</option>';
      }
      else
      {
      echo'<option value="'.$i.'">
      '.$rang[$i].'</option>';
      }
      }
      echo', </select>';
      }
      echo '

     

</form>';
      }

      // 2ème cas : on cherche à créer une catégorie (c=c)

      elseif($_GET['c'] == "c")
      {
      echo'Création d\'une catégorie
';
      echo'<form method="post" action="./forumok.php?cat=forum&amp;action=creer&amp;c=c">';
      echo'<label style="width: 200px;"> Indiquez le nom de la catégorie :</label>
     

     

</form>';
      }      

      break;
      case "edit":

      // Edition d'un forum

      echo'Edition d\'un forum
';
      if($_GET['e'] == "editf")
      {

      // On affiche dans un premier temps la liste des forums

      if(!isset($_POST['forum']))
      {
      $requete = mysql_query('SELECT forum_id, forum_name
      FROM forum_forum ORDER BY forum_ordre DESC')or die(mysql_error());

      echo'<form method="post"
      action="forum.php?cat=forum&amp;action=edit&amp;e=editf">';
      echo'<label>Choisir un forum :</label>
      <select name="forum">';

      while($data = mysql_fetch_assoc($requete))
      {
      echo'<option value="'.$data['forum_id'].'">
      '.$data['forum_name'].'</option>';
      }
      echo'

</form>';
      }

      // Ensuite, on affiche les renseignements sur le forum choisi

      else
      {
      $requete1 = mysql_query('SELECT forum_id, forum_name, forum_desc,
      forum_cat_id
      FROM forum_forum
      WHERE forum_id = "'.$_POST['forum'].'"');
      $data1 = mysql_fetch_assoc($requete1);

      echo'Edition du forum
      '.$data1['forum_name'].'

';

      echo'<form method ="post"
      action= "forumok.php?cat=forum&amp;action=edit&amp;e=editf">

      <label>Nom du forum : </label>

      <label>Description :</label><textarea cols=40 rows=4 name="desc"
      id="desc">'.$data1['forum_desc'].'</textarea>

';

      // A partir d'ici, on boucle toutes les catégories,
      // On affichera en premier celle du forum

      $requete2 = mysql_query('SELECT cat_id, cat_nom
      FROM forum_categorie ORDER BY cat_ordre DESC');

      echo'<label>Déplacer le forum vers : </label>
      <select name="depl">';
      while($data2 = mysql_fetch_assoc($requete2))
      {
      if($data2['cat_id'] == $data1['forum_cat_id'])

      {
      echo'<option value="'.$data2['cat_id'].'"
      selected="selected">'.$data2['cat_nom'].'</option>';
      }
      else
      {
      echo'<option value="'.$data2['cat_id'].'">
      '.$data2['cat_nom'].'</option>';
      }
      }
      echo'</select>';
      echo'

</form>';
      }
      }
      elseif($_GET['e'] == "editc")
      {

      // On commence par afficher la liste des catégories

      if(!isset($_POST['cat']))
      {
      $requete = mysql_query('SELECT cat_id, cat_nom
      FROM forum_categorie ORDER BY cat_ordre DESC');
      echo'<form method="post"
      action="forum.php?cat=forum&amp;action=edit&amp;e=editc">';
      echo'<label>Choisir une catégorie :</label>
      <select name="cat">';
      while($data = mysql_fetch_assoc($requete))
      {
      echo'<option value="'.$data['cat_id'].'">
      '.$data['cat_nom'].'</option>';
      }
      echo'

</form>';
      }

      // Puis le formulaire

      else
      {
      $requete = mysql_query('SELECT cat_nom FROM forum_categorie
      WHERE cat_id = "'.$_POST['cat'].'"');
      $data = mysql_fetch_assoc($requete);
      echo'<form method="post"
      action="./forumok.php?cat=forum&amp;action=edit&amp;e=editc">';

      echo'<label stylte="width:200px;">Indiquez le nom de la catégorie :</label>
     

     
     

</form>';
      }
      }
      elseif($_GET['e'] == "ordref")
      {
      $categorie="";
      $requete = mysql_query('SELECT forum_id, forum_name, forum_ordre,
      forum_cat_id, cat_id, cat_nom
      FROM forum_categorie
      LEFT JOIN forum_forum ON cat_id = forum_cat_id
      ORDER BY cat_ordre DESC');

      echo'<form method="post"
      action="forumok.php?cat=forum&amp;action=edit&amp;e=ordref">';

      echo '';

      while($data = mysql_fetch_assoc($requete))
      {
      if( $categorie != $data['cat_id'] )
      {
      $categorie = $data['cat_id'];
      echo'
      ----

      '.$data['cat_nom'].' |
      Ordre |
      ';
      }
      echo'----
[./forum.php?cat =forum&amp;action=creer Créer un forum]

      [./forum.php?cat=forum&amp;action=edit Modifier un forum]

      [./forum.php?cat=forum&amp;action=droits
      Modifier les droits d un forum]

';

      break;
      }
      break;
      default; // Cat n'est pas remplie, on affiche le menu général

      echo 'Administrer le Forum

     
      <li>[forum.php?cat=config Configuration du forum]</li>
      <li>Administration des forums
     
      <li>[forum.php?cat=forum&amp;action=creer&amp;c=f Cr&eacute;er un Forum]</li>
      <li>[forum.php?cat=forum&amp;action=creer&amp;c=c Cr&eacute;er une Cat&eacute;gorie]</li>

      <li>Modifier un forum
     
      <li>[forum.php?cat=forum&amp;action=edit&amp;e=editf &Eacute;diter un forum]</li>
      <li>[forum.php?cat=forum&amp;action=edit&amp;e=editc &Eacute;diter une cat&eacute;gorie]</li>
      <li>[forum.php?cat=forum&amp;action=edit&amp;e=ordref Changer l\'ordre des forums]</li>
      <li>[forum.php?cat=forum&amp;action=edit&amp;e=ordrec Changer l\'ordre des cat&eacute;gories ]</li>
      </li>
      <li>[forum.php?cat=forum&amp;action=droits Modifier les droits d\'un forum]</li>
      </li>
      ';

      break;

      }

      ?>

</html>

Merci

Merci

1 réponse

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
19 mars 2009 à 20:21
Salut,

Bon, pour être franc j'ai eu la flemme de lire tout ton code, tu pourrais indenter un peu !!! ... et éventuellement surligner la ligne 21 en question.
Bon, de toute façon l'erreur est claire : cat n'est pas une variable GET. En d'autres termes tu ne doit pas avoir une url qui ressemble à ça lors de l'erreur :
http://monsite.fr/fichier.php?cat=trucmuche

Cordialement,

Kohntark -
0
Rejoignez-nous