(php-mysql) Undefined variable help

surfeur97220 Messages postés 3 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
sur une meme page j'ai un formulaire qui compend à la fois un menu déroluant, faisant appel aux valeurs d'une table pour faire sa liste. et deux champs à compléter par l'utilisateur.
normalement en appuyant sur valider, le formulaire devrait utiliser la valeur sélectionnée dans la liste déroulante pour se connecter à la table correpondante et y inscrire les données des deux champs dans cette table.
mais j'ai le message d'erreur suivant:
Undefined index: choix in .... on line 58
Undefined index: choix in .... on line 69
J'imagine donc que le choix dans la liste n'a pas été pris en compte.
Je ne voi pas l'erreur dans mon script... quelqu'un pourrait il m'éclairer.
voici le code en question, sachant que la valeur $choix correspond à la liste et $ajouprix et $ajoumag son ceux des champs.:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>observatoire populaire des prix martinique-conso</title>
<style type="text/css">
<!--
.Style3 {
	font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: bold;
	font-size: 18px;
}
-->
</style>
</head>

<body>
<?php

// --------------- Etape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
 
if (isset($_POST['test']))
{
   if ($_POST['test'] != NULL) // Si on a quelque chose à enregistrer
    {
     mysql_connect("localhost", "root", ""); // Connexion &agrave; la base de donn&eacute;es. 
     mysql_select_db("observatoire"); // S&eacute;lection de la base client. 
    $test = mysql_real_escape_string(htmlspecialchars($_POST['test'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité


 
    // On peut enfin enregistrer :o)
	    
    mysql_query("INSERT INTO produits VALUES('', '" . $test . "')");
 	mysql_query('CREATE TABLE ' . $test . ' ( id MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY,  prix DECIMAL( 5, 2 ) NOT NULL,  magasin TEXT NOT NULL)') or die(mysql_error());

	
	}
}

if (isset($_POST['choisir']))
{
   if ($_POST['choisir'] != NULL)
   {
    $choix = mysql_real_escape_string(htmlspecialchars($_POST['choisir']));
	}
}	

if (isset($_POST['ajoumag']))
{
   if ($_POST['ajoumag'] != NULL) // Si on a quelque chose à enregistrer
    {
     mysql_connect("localhost", "root", ""); // Connexion &agrave; la base de donn&eacute;es. 
     mysql_select_db("observatoire"); // S&eacute;lection de la base client. 
    $ajoumag = mysql_real_escape_string(htmlspecialchars($_POST['ajoumag']));
    mysql_query('INSERT INTO ' . $choix . ' VALUES(\'\', \'\', \'' . $ajoumag . '\')');
	}
}

if (isset($_POST['ajouprix']))
{
   if ($_POST['ajouprix'] != NULL) // Si on a quelque chose à enregistrer
    {
     mysql_connect("localhost", "root", ""); // Connexion &agrave; la base de donn&eacute;es. 
     mysql_select_db("observatoire"); // S&eacute;lection de la base client. 
    $ajouprix = mysql_real_escape_string(htmlspecialchars($_POST['ajouprix']));
    mysql_query('INSERT INTO ' . $choix . ' VALUES(\'\', \'' . $ajouprix . '\', \'\')');
	}
}

?>
 

<table width="200" height="318" border="1" align="left">
  <tr>
    <td bordercolor="#0000FF" bgcolor="#FF9933"><div align="center">
      <?php 

mysql_connect("localhost", "root", ""); // Connexion &agrave; la base de donn&eacute;es. 
mysql_select_db("observatoire"); // S&eacute;lection de la base client. 
echo 'Veuillez choisir un article';
echo "<br />";
?>
      <form method="post" action="test14.php">    
      <select name="choisir" id="choisir">
        <?php 
$retour = mysql_query("SELECT * FROM produits") or die(mysql_error());
while($donnees = mysql_fetch_assoc($retour)){

     echo '<option value="'.$donnes['choix'].'">'.$donnees['nom'].'</option>';

}
?>
	  </select>

	  	  
      <br />
    </div>

        <p align="center">Veuillez saisir le prix relev&eacute;<br />
          Exemple: 2.5 <br />
          <input name="ajouprix" type="text" value="" size="8" maxlength="6" />
        </p>
        <p align="center">Veuillez sasir le magasin<br />
          Exemple: Hyper U Galleria<br />
		  <input name="ajoumag" type="text" value="" maxlength="50" />
          <br />
          <br />
          <input name="submit" type='submit' value='Valider' />
        </p>
        <p align="center">Votre article n'apparait  pas dans la liste?<br />
          Cr&eacute;ez le
</p>
      </form></td>
  </tr>
</table>
  <table width="80" height="290" border="0" align="left">
    <tr>
      <td><div align="left"></div></td>
    </tr>
  </table>
  <table width="340" height="331" border="1">
  <tr>
    <td height="325" bordercolor="#0000FF" bgcolor="#FF9933">
	<form method="post" action="test14.php">
      <p align="center" class="Style3"><u>Cr&eacute;ation d'un nouvel article </u></p>
      <p align="center">R&egrave;gle de saisie: <br />
        Le format devra toujours &ecirc;tre:<br />
      Type de produit - marque - quantit&eacute;<br />
      <br />
      Exemples:<br />
      Fromage-vache qui rit-8 portions<br />
      Lait demi &eacute;cr&eacute;m&eacute;-gandia-1L<br />
      Boisson-coca cola-2L<br />
      Eau-chanflor-1.5L
</p>
      <p align="center">-------------------<br />
Prenez soin de donner les informations<br />
n&eacute;cessaires &agrave; l'identification du produit.<br />
      L'article cr&eacute;&eacute; apparaitra automatiquement<br />
      dans la liste de gauche. <br />
      -------------------<br />
        <br />
        <input name="test" type="text" size="50" maxlength="50" />
        <br />
        <br />
        <br />
        <input name="valider" type='submit'
		onclick="setTimeout('recharge()', 1000);"
		value='Cr&eacute;er article' />
      </p>
      </form></td>
  </tr>
</table>
</body>
</html>
A voir également:

6 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
Bonjour,

echo '<option value="'.$donnes['choix'].'">'.$donnees['nom'].'</option>';


'choix' correspond içi à un champ de ta table produits , est ce qu'il se nomme bien ainsi ?

Galleria c'est F.de F. ?
0
surfeur97220 Messages postés 3 Statut Membre
 
Salut, oui c'est bien à fdf.
tu es de la Martinique ?
tu viens de me donner une information capitale.
donc en fait je dois remplacer choix par nom
car effectivement choix n'existe pas dans a table mais s'appelle nom.
j'essaye ça et je te tiens au vourant
0
Alain_42 Messages postés 5413 Statut Membre 894
 
Non pas de F D F , je suis dans le froid de la métropole, mais j'ai fait pas mal de voyages la bas et bien apprécié l'ile. (et ses habitants)
0
surfeur97220 Messages postés 3 Statut Membre
 
ah ok, c sympat, tu sais qu'on est en pleine greve générale en ce moment?
bon voila j'ai fait cette modif:
echo '<option value="'.$donnes['nom'].'">'.$donnees['nom'].'</option>';
car la table produits contient deux champs: id et nom.
mais voila, j'ai toujours le meme problème, ça n'y a rien changé.
franchement je suis désespéré, je n'arrive pas a comprendre pourquoi la variable choix n'est pas défini.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5413 Statut Membre 894
 
Re,

moi non plus je ne vois pas pourquoi il y a un pb avec l'index choix, vu qu'il n'y est plus dans ta page.

Peux tu me remettre le code tel que tu l'as modifié ?
0
Alain_42 Messages postés 5413 Statut Membre 894
 
je t'ai mis un MP
0