[Tableaux] Perte de valeur d'une variable suivant les IF
Bonjour,
j'ai un petit soucis de perte de variable de mes $_POST que je récupère dans un formulaire.
La premiere partie du formulaire consiste a saisir des données. une fois la validation, l'utilisateir voit une page s'afficher lui récapitulant les infos saisies et lui proposant alors de valider l'ajout des données dans la DB ou de les modifier. jusque là, pas de soucis, les infos saisies auparavant sont toujours là.
Si l'utilisateur valide, alors j'insere les données dans une table de ma DB. Or au moment ou je rentre dans la boucle qui correspond a l'insertion, lorsque j'affiche ma valeur il n'y a plus rien... Il s'agit d'une chaine vide... Donc par consequent des champs vides sont insérés dans ma table.
Ma question est donc : pourquoi y-a-t'il perte de mes valeurs stockées ???
Voici ma page :
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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240
|
<?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">';
?>
<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="adminAccueil.php"> ACCUEIL</a></li><br/>
<li><a href="adminAjoutArticle.php"> AJOUTER ARTICLE</a></li><br/>
<li><a href="adminAjoutPhoto.php"> AJOUTER PHOTO</a></li><br/>
<li><a href="adminSuppArticle.php"> SUPPRIMER ARTICLE</a></li><br/>
<li><a href="adminSuppPhoto.php"> SUPPRIMER PHOTO</a></li><br/>
<li><a href="adminAfficheBD.php"> AFFICHER LA BD</a></li><br/>
<li><a href="adminReinit.php"> REINITIALISER</a></li><br/>
<li><a href="adminSaveBD.php"> SAUVEGARDER BD</a></li><br/>
</ul>
</div>
<br/>
<?php
if(isset($_POST["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>';
echo "<table>";
echo "<th>Référence</th>";
echo "<th>Désignation article</th>";
echo "<th>Gamme</th>";
echo '<tr class="Ligne">';
echo "<td>".$_POST["ref_article"]."</td>";
echo "<td>".$_POST['designation_article']."</td>";
echo "<td>".$_POST["gamme_article"]."</td>";
echo "</tr>";
echo "</table>";
echo'<form method="post" action="'.$_SERVER["PHP_SELF"].'">';?>
<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="insertion" value="Ajouter"> </td>
<td> <input type="submit" name="modifier" value="Modifier"> </td>
</tr>
</table>
</form>
<?php
}
else
{
if(isset($_POST["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>
<select name="gamme_article">
<option VALUE="AMPOULE">AMPOULE</option>
<option VALUE="BALAI">BALAI</option>
<option VALUE="COIFFANT">COIFFANT</option>
<option VALUE="COLLE">COLLE</option>
<option VALUE="ELECTRICITE">ELECTRICITE</option>
<option VALUE="FICELLE">FICELLE</option>
<option VALUE="GANT">GANT</option>
<option VALUE="JOUET">JOUET</option>
<option VALUE="MENAGER">MENAGER</option>
<option VALUE="MERCERIE">MERCERIE</option>
<option VALUE="OUTILLAGE">OUTILLAGE</option>
<option VALUE="PAPETERIE">PAPETERIE</option>
<option VALUE="PARAPHARMACIE">PARAPHARMACIE</option>
<option VALUE="PHOTO">PHOTO</option>
<option VALUE="PILE">PILE</option>
<option VALUE="PINCEAU">PINCEAU</option>
<option VALUE="PUERICULTURE">PUERICULTURE</option>
</select>
</td>
</tr>
<tr>
<td></td>
<td> <input type="submit" name="action" value="Valider"> </td>
</tr>
</table>
<input type="hidden" name="preAjout" value="preAjout">
</form>
<?php
}
else
{
if(isset($_POST["insertion"]))
{
echo '<p>reference '.$_POST["ref_article"].'</p>';
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;
}
mysql_close();
}
/*CAS PAR DEFAUT, SAISIE DES DONNEES DU PRODUIT A AJOUTER*/
else
{
echo '<h1>Ajout à la main</h1>';
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>
<select name="gamme_article">
<option VALUE="AMPOULE">AMPOULE</option>
<option VALUE="BALAI">BALAI</option>
<option VALUE="COIFFANT">COIFFANT</option>
<option VALUE="COLLE">COLLE</option>
<option VALUE="ELECTRICITE">ELECTRICITE</option>
<option VALUE="FICELLE">FICELLE</option>
<option VALUE="GANT">GANT</option>
<option VALUE="JOUET">JOUET</option>
<option VALUE="MENAGER">MENAGER</option>
<option VALUE="MERCERIE">MERCERIE</option>
<option VALUE="OUTILLAGE">OUTILLAGE</option>
<option VALUE="PAPETERIE">PAPETERIE</option>
<option VALUE="PARAPHARMACIE">PARAPHARMACIE</option>
<option VALUE="PHOTO">PHOTO</option>
<option VALUE="PILE">PILE</option>
<option VALUE="PINCEAU">PINCEAU</option>
<option VALUE="PUERICULTURE">PUERICULTURE</option>
</select>
</td>
</tr>
<tr>
<td></td>
<td> <input type="submit" name="submit" value="Valider"> </td>
</tr>
</table>
<input type="hidden" name="preAjout" value="preAjout">
</form>
<?php
echo '<h1>Ajout à partir d\'un fichier .csv</h1>';
echo '<form method="post" action="'.$_SERVER["PHP_SELF"].'">'; ?>
<p>Pour ajouter un ou plusieurs articles dans la base de données à partir d'un fichier .csv, veuillez parcourir les dossiers de votre ordinateur et selectionnez le fichier à utiliser. Attention, le fichier ne peut être qu'un .csv :</p>
<table border="0" cellspacing="0" cellpadding="3">
<tr>
<td>Emplacement du fichier :</td>
<td> <input type="file" name="fichier"> </td>
</tr>
<tr>
<td></td>
<td> <input type="submit" name="submit" value="Valider"> </td>
</tr>
</table>
<input type="hidden" name="preAjout" value="preAjout">
</form>
<?php
}
}
}
?>
</div>
<div class="footer">
<a class="administration" href="../../../../index.php">>> Retour au site <<</a>
</div>
</div>
</body>
</html> |
En bleu la partie dans laquelle je perd mes valeurs, et en rouge l'afichage que j'ai fais pourtester et m'appercevoir que ma valeur est une chaine vide.