[PHP-JS] switch - case : non comparaison de la valeur testée
Bonjour,
j'ai un petit soucis dans le déroulement d'un switch-case. J'ai en effet une partie administration, qui permet d'ajouter dans une DB des produits, de les supprimer ou de remettre à jour la BD. Or, avant d'ajouter un produit dont l'utilisateur aura au préalable remplit un formulaire permettant de connaitre la reference, le nom et la gamme du produit, je voudrais aficher ce que l'utilisateur a saisie et alors lui demander s'il vlide les données (pour procéder a l'ajout ou la suppression) ou s'il veut modifier ces mêmes données.
Mon problème c'est que lors de la première saisie des infos concernant le produit à ajouter (ou supprimer), l'affichage pour la confirmation ne se fait pas... j'ai l'impression que dans mon switch-case, seul le cas "default" est pris en compte, et que la valeur que prend mon action n'est pas testée... Quelle est mon/mes erreur(s) ?!
code d'ffichage des pages :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| <?php
echo'<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
require 'pageAdmin.inc';
/*Récupération de la page en cours.*/
if(!isset($_GET['page'])) $page="adminAccueil";
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>JENFLO - Administration</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Author" content="Arnaud Loy"/>
<link rel="stylesheet" href="../styleAdmin.css" type="text/css"/>
<style type="text/css">
</style>
</head>
<body>
<div class="conteneur">
<!-- Mise en place de la bannière. Affichage de cette dernière suivant la page choisie -->
<div class="header">
ADMINISTRATION DU SITE JEN FLO
</div>
<div class="contenu">
<!-- Mise en place et affichage du menu -->
<div class="menu">
<ul>
<li><a href="administration.php?page=93"> AJOUTER</a></li><br/>
<li><a href="administration.php?page=94"> SUPPRIMER</a></li><br/>
<li><a href="administration.php?page=95"> REINITIALISER</a></li><br/>
</ul>
</div>
<!-- Affichage de la page suivant celle qui a été choisie -->
<?php
if(!empty($_GET['page'])){
switch($_GET['page'])
{
case 93 :
$page = 'adminAjout';
break ;
case 94 :
$page = 'adminSupp';
break ;
case 95 :
$page = 'adminReinit';
break ;
}
}
else{
$page = 'adminAccueil';
}
affichePageAdmin($page);
?>
</div>
<div class="footer">
<a class="administration" href="../../../index.php"> >> Retour au site << </a>
</div>
</div>
</body>
</html> |
code de l'ajout (par exemple):
Citation:
<?php
switch($_POST["action"])
{
/* VERIFICATIONS DE LA SAISIE */
case "preAjout":
echo'<p>Vous avez choisie d\'ajouter l\'article '.$_POST["designation_article"].' dont la référence est '.$_POST["ref_article"].' dans la gamme de produits '.$_POST["gamme_article"].'</p>';?>
<p>Si les informations sont correctes, vous pouvez ajouter, sinon appuyez sur modifier pour corriger la ou les erreurs.</p>
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td> <input type="submit" name="submit" value="Ajouter"> </td>
</tr>
</table>
<input type="hidden" name="action" value="insertion">';
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td> <input type="submit" name="submit" value="Modifier"> </td>
</tr>
</table>
<input type="hidden" name="action" value="modifier">
<?php break;
/* MODIFICATION */
case "modifier":
echo '<form method="post" action="'.$_SERVER["PHP_SELF"].'">'; ?>
<p>Veuillez saisir à nouveau les informations nécessaires. N'oubliez pas que tout doit être saisi en MAJUSCULES.</p>
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td>Référence :</td>
<td> <input type="text" name="ref_article"> </td>
</tr>
<tr>
<td>Désignation :</td>
<td> <input type="text" name="designation_article"> </td>
</tr>
<tr>
<td>Gamme :</td>
<td> <input type="text" name="gamme_article"> </td>
</tr>
<tr>
<td></td>
<td> <input type="submit" name="submit" value="Valider"> </td>
</tr>
</table>
<input type="hidden" name="action" value="preAjout">
</form>
<?php
break;
/* CAS DE LA VALIDATION DE L'AJOUT */
case "insertion":
require 'bd.inc';
$link = connectBD("./");
switch($link)
{
case 1 :
echo'<p>/!\ Problème de connexion au serveur mysql.</p>';
break;
case 2 :
echo'<p>/!\ Problème de connexion à la base de données.</p>';
break;
default :
if(!testTable())
echo"<p>/!\ Erreur : la table dans laquelle l'article doit-être ajoutée n'existe pas n'existe pas.</p>";
else
{
$query = 'INSERT INTO articles VALUES ("'.$_POST["ref_article"].'", "'.$_POST["designation_article"].'", "'.$_POST["gamme_article"].'")';
MYSQL_QUERY($query);
if(mysql_error())
{
/* Erreur dans la base de donnees */
print "Erreur dans la base de données : ".mysql_error();
print "<br/>L'importation n'a pas pu se faire correctement.";
exit();
}
else
echo"<p>Ajout dans la base de données terminé avec succès !</p>";
}
break;
}
break;
/*CAS PAR DEFAUT, SAISIE DES DONNEES DU PRODUIT A AJOUTER*/
default:
echo '<form method="post" action="'.$_SERVER["PHP_SELF"].'">'; ?>
<p>Pour ajouter un nouvel article dans la base de données, veuillez compléter les informations suivantes. Attention, toutes les données devront être en MAJUSCULES :</p>
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td>Référence :</td>
<td> <input type="text" name="ref_article"> </td>
</tr>
<tr>
<td>Désignation :</td>
<td> <input type="text" name="designation_article"> </td>
</tr>
<tr>
<td>Gamme :</td>
<td> <input type="text" name="gamme_article"> </td>
</tr>
<tr>
<td></td>
<td> <input type="submit" name="submit" value="Valider"> </td>
</tr>
</table>
<input type="hidden" name="action" value="preAjout">
</form>
<?php
break;
}
?>