Problème de variable entre deux pages

Fermé
Ninja_En_Short Messages postés 133 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 27 juin 2014 - 3 avril 2008 à 16:53
Ninja_En_Short Messages postés 133 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 27 juin 2014 - 3 avril 2008 à 17:39
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>
A voir également:

1 réponse

Utilisateur anonyme
3 avril 2008 à 17:00
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
Ninja_En_Short Messages postés 133 Date d'inscription mercredi 19 septembre 2007 Statut Membre Dernière intervention 27 juin 2014 9
3 avril 2008 à 17:39
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