Problème de variable entre deux pages

Ninja_En_Short Messages postés 136 Statut Membre -  
Ninja_En_Short Messages postés 136 Statut Membre -
Bonjour,

Voilà le souci : j'ai un menu avec quelques hyperliens qui envoie une variable dans une autre pour définir quelle page afficher.
Problème : une erreur de variable indéfinie sur $page me revient à chaque "case" du switch et donc tout passe en continu dans le default...

Voilà le code du menu :

<?php

?>

<UL>
Employés<BR /><BR />
<UL>
<LI><a href="editzone.php?page=empserach">Recherche</a></LI><BR />
<LI><a href="editzone.php?page=empedit">Edition</a> </LI><BR />
</UL><BR /><BR />
Départements<BR /><BR />
<UL>
<LI><a href="editzone.php?page=depsearch">Recherche</a></LI><BR />
<LI><a href="editzone.php?page=depedit">Edition</a></LI><BR />
</UL>
</UL>

et le code de "editzone" qui reçois "page" :

<?php

switch($page){

case "empsearch": include("empsearch.php");
break;
case "empedit": include("empedit.php");
break;
case "depsearch": include("depsearch.php");
break;
case "depedit": include("depedit.php");
break;

default:
include("accueil.php");
break;
}

?>

<script>

function refresh(url){

var url="storearea.php";
location.href=url;
}

</script>

Le tout est intégré dans la page index.php avec une paire de include :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Gestion des employés</title>
</head>
<body>
<DIV class="container">
<TABLE width="90%" border="0px" cellspacing="0px">
<TR><DIV class="logo"><IMG align="center" src="images/NesEdition.JPG"></DIV></TR>
<TR>
<TD width="15%">
<DIV class="menu">
<?php
/*Insertion du menu d'actions*/
include ("actionmenu.php");
?>
</DIV>
</TD>
<TD width="85%">
<DIV class="editzone">
<?php
/*Insertion de la page appelée dans le menu*/
include ("editzone.php");
?>
</DIV>
</TD>
</TR>
</TABLE>
</DIV>

</body>
</html>
Configuration: Windows XP
Firefox 2.0.0.13

1 réponse

  1. Utilisateur anonyme
     
    Salut,

    je pense que tes liens devraient pointé vers index.php
    et aussi ton switch($page) devrait etre switch($_GET['page'])

    et la normalement cela devrait marcher :)
    0
    1. Ninja_En_Short Messages postés 136 Statut Membre 9
       
      Pour le switch($_GET['page']) ça a marché merci.

      Mais maintenant il me dit que j'ai un index non défini à la ligne 3, c'est à dire le switch (un coup de if et isset et basta), c'est pas une vraie difficulté.

      Autre problème, maintenant il me dit ça : Parse error: parse error, unexpected $end in C:\EasyPHP 2.0b1\www\TP Oracle\depedit.php on line 71

      voila le code la page la plus simple (il me ça sur toutes les pages indiquées par le switch) :

      <?php

      /* Récupération des infos du formulaire */
      $nomrecu = $_GET[nom];
      $idrecu = $_GET[depid];

      /* Les requêtes d'édition ou d'affichage*/
      $editid = "UPDATE `departement` SET `nom` = '".$nomrecu."', `dep_id` = '".$idrecu."' WHERE `departement`.`dep_id` = '".$idrecu."' OR `departement`.`nom` = '".$nomrecu."';";
      $insert = "INSERT INTO `departement` (`nom`, `dep_id`) VALUES ('".$nomrecu."', '".$idrecu."');";

      /* Les requêtes pour l'affichage */
      $response = mysql_query($result);
      $result = "SELECT * FROM departement WHERE nom = ".$nomrecu." OR dep_id = ".$idrecu."";

      mysql_connect("localhost");
      mysql_select_db("departement");

      /* Vérification du remplissage des champs */
      if (isset($nomrecu) AND isset($idrecu)){

      /* Récupération des résultats */
      $response = mysql_query($result);

      /* Si aucun résultat (nouvelle entrée) */
      if ($response = ""){
      mysql_query($insert);
      /* Affichage des résultats en texte*/
      WHILE($data = mysql_fetch_array($response)){
      echo($data[nom]." : ".$data[dep_id])?> <BR /><BR /> <?php;
      };
      }
      /* Si modification d'une entrée existante */
      else {
      mysql_query($editid);
      WHILE($data = mysql_fetch_array($response)){
      echo($data[nom]." : ".$data[dep_id])?> <BR /><BR /> <?php;
      };
      };

      }else {
      echo("Veuillez remplir tous les champs pour une modification ou édition")?><BR /><BR /><?php;
      };

      mysql_close();

      ?>

      <DIV align="center">

      <H1>Edition des départements</H1> <BR /><BR /><BR />

      <FORM action="depedit.php" method="get">

      <!-- Formulaire avec les infos du departement -->
      Veuillez entrer le nom du département : <INPUT type="text" name="nom"/><BR /><BR />
      Veuillez entrer le numéro du département : <INPUT type="text" name="depid"/><BR /><BR />
      <INPUT type="submit" value="Soumettre" name=""/>

      </FORM>
      </DIV>


      <script>
      <!-- Fonction pour rafraichir la page -->
      function refresh(url){

      var url="depedit.php"
      location.href=url;
      }

      </script>
      0