Probleme ajout en php

SALUT, je ss debutante en php et JE SS ENTRAIN DE CONCEVOIR UNE APPLICATION EN PHP, mon prob c'est que qd je veux inserer un nouvel enregistrement, des erreurs s'affiche comem koi les variables sont pas declarées

voici le code de mon formulaire pr la saisie
Ajout Livre </p>
<p> </p>
<p> </p>
<form method="post" action="LivreListe.php">
<table width="209" height="468" border="0" align="center" cellspacing="20">
<tr>
<td width="49"><div align="center"><span class="Style45">ISBN</span> </div></td>
<td width="144"><label>
<input type="text" name="IS" id ="$ISB"/>
</label></td>
</tr>
<tr>
<td><p align="center" class="Style45">Code Edition</p></td>
<td><label></label>
<select name="CODEED" id="$CODEE">

<option>SLECTIONNER LE CODE D EDITION</option>
<?php

include "connect.php";

$req_edit=mysql_query("SELECT DISTINCT CODEED FROM edition");

while ($data_edit=mysql_fetch_array($req_edit)){
$CODEED=$data_edit['CODEED'];

echo "<optgroup label=\"$CODEED\">";

echo "<option value=\"$CODEED\">$CODEED</option>";
echo "</optgroup>";
}
include "disconnect.php";
?>
</select>
</td>
</tr>
<tr>
<td><div align="center"><span class="Style45">Nom </span></div></td>
<td><label>
<input type="text" name="NL" id="$NOMLI"/>
</label></td>
</tr>
<tr>
<td class="Style41"><div align="center" class="Style45">Auteur</div></td>
<td><label>
<input type="text" name="AUT" id="$AUTEU"/>
</label></td>
</tr>
<tr>
<td class="Style41"><div align="center" class="Style45">Numéro Série </div></td>
<td><div align="center">
<label>
<input type="text" name="NS" id="$NUMSERI"/>
</label>
</div></td>
</tr>
<tr>
<td><div align="center"><span class="Style45">Nombre Exemplaire</span> </div></td>
<td><label>
<input type="text" name="NE" id="$NB_EXEMPLAIR" />
</label></td>
</tr>
<tr>
<td class="Style45"><div align="center">Mot Clé </div></td>
<td><input type="text" name="motcle" id="$MOCL"/></td>
</tr>
</table>

<p>  </p>
<p>
<label></label>
</p>
<p align="center" class="Style2"> </p>

<input type="submit" name="Submit" value="Confirmer" class="Style28"/>
</form>

et voici le script qui fait l'ajout
<?php
$con=mysql_connect("localhost","root","");
mysql_select_db("new_base",$con);

$ISB=$_POST['IS'];
$CODEE=$_GET['CE'];
$NOMLI=$_POST['NL'];
$AUTEU=$_POST['AUT'];
$NUMSERI=$_POST['NS'];
$NB_EXEMPLAIR=$_POST['NE'];
$MOCL=$_POST['motcle'];

$sql = "INSERT INTO livre VALUES ('$ISB','$CODEE','$NOMLI','$AUTEU','$NUMSERI','$NB_EXEMPLAIR','$MOCL')";
$requete = mysql_query($sql, $con) or die( mysql_error() ) ;
if($requete)
{
echo("L'insertion a ete correctement effectuee") ;
}
else
{
echo("L'insertion à echouee") ;
}
include"disconnect.php";
?>

quelqu'un pourra t'il m'aider à savoir l'erreur !

3 réponses

  1. Contributeur
    Bonjour,
    Je repère pas mal d'erreur:

    <input type="text" name="IS" id ="$ISB"/> 
    


    Incorrecte, si tu veux utiliser des variables PHP dans du HTML, il faut que tu fasses comme ceci:

    <input type="text" name="IS" id ="<?php echo $ISB; ?>"/> 
    


    Corrige toutes les fautes similaires dans ton code
    1. ben voila j'ai corrigé les erreurs mais sa donen tjrs r ien
      voici le script du formulaire
      Ajout Livre </p>
      <p> </p>
      <p> </p>
      <form method="post" action="LivreListe.php">
      <table width="209" height="468" border="0" align="center" cellspacing="20">
      <tr>
      <td width="49"><div align="center"><span class="Style45">ISBN</span> </div></td>
      <td width="144"><label>
      <input type="text" name="IS" id ="<?php echo $ISB; ?>"/>
      </label></td>
      </tr>
      <tr>
      <td><p align="center" class="Style45">Code Edition</p></td>
      <td><label></label>
      <select name="CODEED" id ="<?php echo"$CODEE"; ?>"/>

      <option>SLECTIONNER LE CODE D EDITION</option>
      <?php

      include "connect.php";

      $req_edit=mysql_query("SELECT DISTINCT CODEED FROM edition");

      while ($data_edit=mysql_fetch_array($req_edit)){
      $CODEED=$data_edit['CODEED'];

      echo "<optgroup label=\"$CODEED\">";

      echo "<option value=\"$CODEED\">$CODEED</option>";
      echo "</optgroup>";
      }
      include "disconnect.php";
      ?>
      </select>
      </td>
      </tr>
      <tr>
      <td><div align="center"><span class="Style45">Nom </span></div></td>
      <td><label>

      <input type="text" name="IS" id ="<?php echo $NOMLI; ?>"/>
      </label></td>
      </tr>
      <tr>
      <td class="Style41"><div align="center" class="Style45">Auteur</div></td>
      <td><label>

      <input type="text" name="IS" id ="<?php echo $AUTEU; ?>"/>
      </label></td>
      </tr>
      <tr>
      <td class="Style41"><div align="center" class="Style45">Numéro Série </div></td>
      <td><div align="center">
      <label>

      <input type="text" name="IS" id ="<?php echo $NUMSERI; ?>"/>
      </label>
      </div></td>
      </tr>
      <tr>
      <td><div align="center"><span class="Style45">Nombre Exemplaire</span> </div></td>
      <td><label>
      <input type="text" name="IS" id ="<?php echo $NB_EXEMPLAIR; ?>"/>

      </label></td>
      </tr>
      <tr>
      <td class="Style45"><div align="center">Mot Clé </div></td>
      <td>
      <input type="text" name="IS" id ="<?php echo $MOCL; ?>"/></td>
      </tr>
      </table>

      <p> </p>
      <p>
      <label></label>
      </p>
      <p align="center" class="Style2"> </p>

      <input type="submit" name="Submit" value="Confirmer" class="Style28"/>
      </form>

      et voici le script qui fait l'ajout
      <?php
      $con=mysql_connect("localhost","root","");
      mysql_select_db("new_base",$con);

      $ISB=$_POST['IS'];
      $CODEE=$_GET['CE'];
      $NOMLI=$_POST['NL'];
      $AUTEU=$_POST['AUT'];
      $NUMSERI=$_POST['NS'];
      $NB_EXEMPLAIR=$_POST['NE'];
      $MOCL=$_POST['motcle'];

      $sql = "INSERT INTO livre VALUES ('$ISB','$CODEE','$NOMLI','$AUTEU','$NUMSERI','$NB_EXEMPLAIR','$MOCL')";
      $requete = mysql_query($sql, $con) or die( mysql_error() ) ;
      if($requete)
      {
      echo("L'insertion a ete correctement effectuee") ;
      }
      else
      {
      echo("L'insertion à echouee") ;
      }
      include"disconnect.php";
      ?>

      voici les erreurs

      Notice: Undefined index: IS in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 10

      Notice: Undefined index: CE in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 11

      Notice: Undefined index: NL in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 12

      Notice: Undefined index: AUT in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 13

      Notice: Undefined index: NS in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 14

      Notice: Undefined index: NE in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 15

      Notice: Undefined index: motcle in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 16
      Duplicata du champ '' pour la clef 'PRIMARY'
      1. apprend le php, çà vaudra mieux, il y a des erreurs partout ...

        tu ouvres un deuxieme post, parce que les gens ne te répondent plus sur le premier, ce qui est normal, tu n'y met vraiment pas du tiens
        
        
        <input type="text" name="IS" > 

        tu as 5 champs qui comporte le meme nom, déjà comment veux tu que çà marche ?

        est ce que tu as une requete au départ qui vas chercher les valeurs de tes variables ???

        posté dans l'état, c'est normal que tu n'es aucune valeur puisqu'il n'y a pas de requete

        <form method="post" action="LivreListe.php"> 


        Notice: Undefined index: CE in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php

        tu as un formulaire qui pointe vers LivreListe.php, , qu'est ce que la page livreAjoutExec.php ???

        explique mieux le cheminement de ton formulaire, ce que tu veux faire, déjà, tu auras plus d'aide
      2. tu as 5 champs qui comporte le meme nom, déjà comment veux tu que çà marche ?

        Ptain j'avais mm pas fait gaffe ><'
      3. Contributeur
        Et moi donc !

        Autre chose, essaie de respecter la norme W3C... ça permet non seulement d'avoir un code valide sur Internet mais aussi de rendre le code plus lisible.

        Ainsi, par exemple, évite d'utiliser des majuscules pour les noms de variables PHP (sauf éventuellement le premier caractère).
    2. C'est rien ça, c'est juste que les variables que t'utilises pour les id de tes champs de ton formulaire existe pas encore vu que tu les as pas encore envoyé ^^.

      Rajoute "@" devant les variables de tes ids de ton formualire tu vas voir.

      <input type="text" name="IS" id ="<?php echo @$NB_EXEMPLAIR; ?>"/>
      1. sinon, tu peux remplacer:

        $ISB=$_POST['IS'];
        $CODEE=$_GET['CE'];
        $NOMLI=$_POST['NL'];
        $AUTEU=$_POST['AUT'];
        $NUMSERI=$_POST['NS'];
        $NB_EXEMPLAIR=$_POST['NE'];
        $MOCL=$_POST['motcle'];

        par

        $ISB=isset($_POST['IS'])?$_POST['IS']:"";
        $CODEE=isset($_GET['CE'])?$_GET['CE']:"";
        $NOMLI=isset($_POST['NL'])?$_POST['NL']:"";
        $AUTEU=isset($_POST['AUT'])?$_POST['AUT']:"";
        $NUMSERI=isset($_POST['NS'])?$_POST['NS']:"";
        $NB_EXEMPLAIR=isset($_POST['NE'])?$_POST['NE']:"";
        $MOCL=isset($_POST['motcle'])?:"";