Problème ajout en php

salut, je suis entrain de concevoir une application en php/mysql , mon prob c'est que quand je veux insérer un nouvel enregistrement dans la base, un message s'affiche comme quoi "L'insertion a ete correctement effectuée", quand je reviens à ma base de donnée, je trouve une nouvelle ligne insérée mais vide. voila mon script:

<?php
$con=mysql_connect("localhost","root","");
mysql_select_db("new_base",$con);

$ISBN=isset($_POST['IS']);
$CODEED=isset($_GET['CE']);
$NOMLIV=isset($_POST['NL']);
$AUTEUR=isset($_POST['AUT']);
$NUMSERIE=isset($_POST['NS']);
$NB_EXEMPLAIRE=isset($_POST['NE']);
$MOCLE=isset($_POST['motcle']);

$sql = "INSERT INTO livre VALUES ('$ISBN','$CODEED','$NOMLIV','$AUTEUR','$NUMSERIE','$NB_EXEMPLAIRE','$MOCLE')";
$requete = mysql_query($sql, $con) or die( mysql_error() ) ;
if($sql)
{
echo("L'insertion a ete correctement effectuee") ;
}
else
{
echo("L'insertion à echouee") ;
}

?>

25 réponses

Résumé de la discussion

Le fil expose un problème d'insertion en PHP/MySQL: après validation, un message indique l'insertion réussie alors qu'une ligne vide est ajoutée dans la table livre. Les causes évoquées incluent l'usage de isset pour récupérer les valeurs ($_POST et $_GET) qui renvoie des booléens, et non les valeurs elles-mêmes, ce qui conduit à des champs vides. Les solutions proposées portent sur: remplacer les assignations par $ISBN = $_POST['IS']; et aligner les noms des champs, éviter les isset superflus, et assurer une validation préalable des valeurs avant l'insertion. D'autres conseils soulignent que des colonnes en clé primaire ne doivent pas accepter les valeurs vides et qu'il faut vérifier les éventuels duplicatas et regrouper les formulaires pour éviter les incohérences.

Bobot (l’IA à votre service)
  1. VOICI MON CODE DE LISTELIVRE
    <?php
    include "connect.php";

    echo "<h3>Liste des Livres</h3>";
    $sql = "SELECT * FROM Livre";
    $resultat = mysql_query($sql);
    echo "[<a href=livreAjoutExec.php>Ajouter un Livre</a>]";
    echo "<table border=1 width=75%>";
    echo "<tr><td bgcolor=11FF11>IS</td><td bgcolor=11FF11>CE</td><td bgcolor=11FF11>NL</td><td bgcolor=11FF11>AUT</td><td bgcolor=11FF11>NS</td><td bgcolor=11FF11>NE</td><td bgcolor=11FF11>motcle</td><td bgcolor=11FF11>Modification</td><td bgcolor=11FF11>Suppression</td></tr>";
    while ($row = mysql_fetch_array($resultat)) {

    echo "<tr>";
    echo "<td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td<td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td>";

    echo "<td><a href=exemplaireModif.php?ISBN=$row[0] color=#000000> modifier</a></td><td><a href=exemplaireSupp.php?ISBN=$row[0] color=#000000>supprimer</a></td>";
    echo "</tr>";
    }
    echo "</table>";

    include "disconnect.php";
    ?>

    <?php

    $con=mysql_connect("localhost","root","");
    mysql_select_db("new_base",$con);
    if(isset($_POST['IS'])){
    $I = $_POST['IS'];// IS représente le name du champ de text ds l formulaire jout livre
    }
    if(isset($_POST['CODEED'])){
    $COD = $_POST['CODEED'];
    }
    if(isset($_POST['NL'])){
    $NOM = $_POST['NL'];
    }

    if(isset($_POST['AUT'])){
    $AUT = $_POST['AUT'];
    }
    if(isset($_POST['NS'])){
    $NUMSE = $_POST['NS'];
    }

    if(isset($_POST['NE'])){
    $NB_EXEMPLA = $_POST['NE'];
    }
    if(isset($_POST['mocle'])){
    $MO = $_POST['motcle'];
    }
    $sql = "INSERT INTO livre VALUES ('$I','$COD','$NOM','$AUT','$NUMSE','$NB_EXEMPLA','$MO')";
    $requete = mysql_query($sql, $con) or die( mysql_error() ) ;
    header('Location: LivreListe.php') ;
    if($requete)
    {
    echo("L'insertion a ete correctement effectuee") ;
    }
    else
    {
    echo("L'insertion à echouee") ;
    }
    include"disconnect.php";
    ?>

    ce code me donne les erreurs uivantes
    Notice: Undefined variable: I in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38

    Notice: Undefined variable: COD in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38

    Notice: Undefined variable: NOM in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38

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

    Notice: Undefined variable: NUMSE in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38

    Notice: Undefined variable: NB_EXEMPLA in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38

    Notice: Undefined variable: MO in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38
    Duplicata du champ '' pour la clef 'PRIMARY'

    pouvez vous m'aidez à retrouver les erreurs !!
    0
    1. CE CODE D4AJOUT ME DONNE DES ERREURS
      <?php

      $con=mysql_connect("localhost","root","");
      mysql_select_db("new_base",$con);
      if(isset($_POST['IS'])){
      $I = $_POST['IS'];
      }
      if(isset($_POST['CODEED'])){
      $COD = $_POST['CODEED'];
      }
      if(isset($_POST['NL'])){
      $NOM = $_POST['NL'];
      }

      if(isset($_POST['AUT'])){
      $AUT = $_POST['AUT'];
      }
      if(isset($_POST['NS'])){
      $NUMSE = $_POST['NS'];
      }

      if(isset($_POST['NE'])){
      $NB_EXEMPLA = $_POST['NE'];
      }
      if(isset($_POST['mocle'])){
      $MO = $_POST['motcle'];
      }
      $sql = "INSERT INTO livre VALUES ('$I','$COD','$NOM','$AUT','$NUMSE','$NB_EXEMPLA','$MO')";
      $requete = mysql_query($sql, $con) or die( mysql_error() ) ;
      header('Location: LivreListe.php') ;
      if($requete)
      {
      echo("L'insertion a ete correctement effectuee") ;
      }
      else
      {
      echo("L'insertion à echouee") ;
      }
      include"disconnect.php";
      ?>

      les erreurs:
      Notice: Undefined variable: I in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38

      Notice: Undefined variable: COD in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38

      Notice: Undefined variable: NOM in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38

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

      Notice: Undefined variable: NUMSE in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38

      Notice: Undefined variable: NB_EXEMPLA in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38

      Notice: Undefined variable: MO in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 38
      Duplicata du champ '' pour la clef 'PRIMARY'
      0
      1. l'erreur se trouve toujours sur le formulaire ...., tu n'envoie toujours aucune valeur
        0
    2. j'ai changer le code du formulaire listelivre

      <?php
      include "connect.php";

      echo "<h3>Liste des Livres</h3>";
      $sql = "SELECT * FROM Livre";
      $resultat = mysql_query($sql);
      echo "[<a href=livreAjoutExec.php>Ajouter un Livre</a>]";
      echo "<table border=1 width=75%>";
      echo "<tr><td bgcolor=11FF11>IS</td><td bgcolor=11FF11>CE</td><td bgcolor=11FF11>NL</td><td bgcolor=11FF11>AUT</td><td bgcolor=11FF11>NS</td><td bgcolor=11FF11>NE</td><td bgcolor=11FF11>motcle</td><td bgcolor=11FF11>Modification</td><td bgcolor=11FF11>Suppression</td></tr>";
      while ($row = mysql_fetch_array($resultat)) {
      $ISB=$row[0];$CODEE=$row[1];$NOMLI=$row[2];$AUTEU=$row[3];$NUMSERI=$row[4];$NB_EXEMPLAIR=$row[5];$MOCL=$row[6];
      echo "<tr><td>";

      echo "<td>";
      echo "<input type=text disabled=disable style=width:110px; height:18px; font-family:tahoma; font-size:11px value=".$CODEE.">";
      echo "</td>";
      echo "<td>";
      echo "<input type=text disabled=disable style=width:100px; height:18px; font-family:tahoma; font-size:11px value=".$NOMLI.">";
      echo "</td>";
      echo "<td>";
      echo "<input type=text disabled=disable style=width:110px; height:18px; font-family:tahoma; font-size:11px value=".$AUTEU.">";
      echo "</td>";
      echo "<td>";
      echo "<input type=text disabled=disable style=width:110px; height:18px; font-family:tahoma; font-size:11px value=".$NUMSERI.">";
      echo "</td>";
      echo "<td>";
      echo "<input type=text disabled=disable style=width:110px; height:18px; font-family:tahoma; font-size:11px value=".$NB_EXEMPLAIR.">";
      echo "</td>";
      echo "<td>";
      echo "<input type=text disabled=disable style=width:110px; height:18px; font-family:tahoma; font-size:11px value=".$MOCL.">";
      echo "</td>";

      echo "<td><a href=livreModif.php?IS=$row[0] color=#000000> modifier</a></td><td><a href=livreSupp.php?IS=$row[0] color=#000000>supprimer</a></td>";
      echo "</tr>";
      echo "</a>";
      echo "</div>";
      echo "</td></tr>";
      }
      echo "</table>";

      include "disconnect.php";
      ?>

      et traitemnt ajout comme suit:

      <?php

      $con=mysql_connect("localhost","root","");
      mysql_select_db("new_base",$con);
      if(isset($_POST['IS'])){
      $ISB = $_POST['IS'];
      }
      if(isset($_POST['CE'])){
      $CODEE = $_POST['CE'];
      }
      if(isset($_POST['NL'])){
      $NOMLI = $_POST['NL'];
      }

      if(isset($_POST['AUT'])){
      $AUTEU = $_POST['AUT'];
      }
      if(isset($_POST['NS'])){
      $NUMSERI = $_POST['NS'];
      }

      if(isset($_POST['NE'])){
      $NB_EXEMPLAIR = $_POST['NE'];
      }
      if(isset($_POST['motcle'])){
      $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() ) ;
      header('Location: LivreListe.php') ;
      if($requete)
      {
      echo("L'insertion a ete correctement effectuee") ;
      }
      else
      {
      echo("L'insertion à echouee") ;
      }
      include"disconnect.php";
      ?>

      sa donne ça

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

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

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

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

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

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

      Notice: Undefined index: motcle in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 35
      Duplicata du champ '' pour la clef 'PRIMARY'
      0
      1. je propose de remplacer le
        echo "<td><a href=livreModif.php?ref=$row[0] color=#000000> modifier</a>

        par
        echo "<td><a href=livreModif.php?IS=$_POST['IS']&CE=$_POST['CE']&NL=$_POST['NL']&AUT=$_POST['AUT']&NE=$_POST['NE']&motcle=$_POST['motcle']&ref=$row[0] color=#000000>"

        Et de recuperer les variables dans $_GET donc
        <?php

        $con=mysql_connect("localhost","root","");
        mysql_select_db("new_base",$con);
        $ISB = $_GET['IS'];
        $CODEE = $_GET['CE'];
        $NOMLI = $_GET['NL'];
        $AUTEU = $_GET['AUT'];
        $NUMSERI = $_GET['NS'];
        $NB_EXEMPLAIR = $_GET['NE'];
        $MOCL = $_GET['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";
        ?>

        Ce code n'est pas très résistant à l'erreur mais ca devrais peut-être marché si tout les champs sont remplis. Donc il y aura des isset à rajouter dans ListeLivre.php pour gérer ces cas-là.
        0
        1. <?php

          $con=mysql_connect("localhost","root","");
          mysql_select_db("new_base",$con);
          if(isset($_POST['IS'])){
          $ISB = $_POST['IS'];
          }
          if(isset($_POST['CE'])){
          $CODEE = $_POST['CE'];
          }
          if(isset($_POST['NL'])){
          $NOMLI = $_POST['NL'];
          }

          if(isset($_POST['AUT'])){
          $AUTEU = $_POST['AUT'];
          }
          if(isset($_POST['NS'])){
          $NUMSERI = $_POST['NS'];
          }

          if(isset($_POST['NE'])){
          $NB_EXEMPLAIR = $_POST['NE'];
          }
          if(isset($_POST['motcle'])){
          $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";
          ?>

          sa donne ça
          Notice: Undefined variable: ISB in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 32

          Notice: Undefined variable: CODEE in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 32

          Notice: Undefined variable: NOMLI in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 32

          Notice: Undefined variable: AUTEU in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 32

          Notice: Undefined variable: NUMSERI in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 32

          Notice: Undefined variable: NB_EXEMPLAIR in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 32

          Notice: Undefined variable: MOCL in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 32
          Duplicata du champ '' pour la clef 'PRIMARY'
          0
          1. Normal, les variables dans $_POST n'existe que sur la page LivreListe.php après elle sont perdues. Donc tu ne peut pas les récupérer sur livreAjoutExec.php.
            0
            1. TU AS RAISON, mnt qd je click sur confirmer le formulaire liste livre s'affiche et qd je clik sur le lien ajouter livre voila les message d'erreurs

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

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

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

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

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

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

              Notice: Undefined variable: sql in C:\Program Files\EasyPHP-5.3.2\www\livreAjoutExec.php on line 17
              Query est vide

              suite à ce script

              <?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=isset($_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";
              ?>

              et qd je mets $ISB=isset($_POST['IS']);
              les message d'erreurs ne s'affcihent plus mais une ligne vide s'ajoute ds la base de donnée
              0
              1. encore une fois, ton isset ne sert a rien comme tu t'en sert, c'est lui qui provoque ta ligne vide ....
                maintenant il peut te servir a faire des tests, pour chacune de tes valeurs, tu peux mettre

                if(isset($_POST['champ'])){
                     $champ = $_POST['champ']
                }
                0
            2. c 'est quoi le probleme ? !
              0
              1. c'est que tu fermes ton formulaire avant le bouton confirmer, forcemment il ne peut pas marcher
                0
            3. Un </form> en trop, j'en était sur.
              Vire le </form> que j'ai mis en gras.
              <?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" />
              </label></td>
              </tr>
              <tr>
              <td class="Style41"><div align="center" class="Style45">Auteur</div></td>
              <td><label>
              <input type="text" name="AUT" />
              </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" />
              </label>
              </div></td>
              </tr>
              <tr>
              <td><div align="center"><span class="Style45">Nombre Exemplaire</span> </div></td>
              <td><label>
              <input type="text" name="NE" />
              </label></td>
              </tr>
              <tr>
              <td class="Style45"><div align="center">Mot Clé </div></td>
              <td><input type="text" name="motcle" /></td>
              </tr>
              </table>
              </form>
              <p> </p>
              <p>
              <label></label>
              </p>
              <p align="center" class="Style2"> </p>

              <input type="submit" name="Submit" value="Confirmer" class="Style28"/>
              </form>
              <div align="center">
              0
              1. voici le fomrulaire "ajouter livre"

                <p align="center" class="Style39">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" />
                </label></td>
                </tr>
                <tr>
                <td><p align="center" class="Style45">Code Edition</p></td>
                <td><label></label>
                <select name="CODEED">

                <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" />
                </label></td>
                </tr>
                <tr>
                <td class="Style41"><div align="center" class="Style45">Auteur</div></td>
                <td><label>
                <input type="text" name="AUT" />
                </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" />
                </label>
                </div></td>
                </tr>
                <tr>
                <td><div align="center"><span class="Style45">Nombre Exemplaire</span> </div></td>
                <td><label>
                <input type="text" name="NE" />
                </label></td>
                </tr>
                <tr>
                <td class="Style45"><div align="center">Mot Clé </div></td>
                <td><input type="text" name="motcle" /></td>
                </tr>
                </table>
                </form>
                <p>  </p>
                <p>
                <label></label>
                </p>
                <p align="center" class="Style2"> </p>

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

                voici le formulaire liste livre
                <?php
                include "connect.php";

                echo "<h3>Liste des Livres</h3>";
                $sql = "SELECT * FROM Livre";
                $resultat = mysql_query($sql);
                echo "[<a href=livreAjoutExec.php>Ajouter un Livre</a>]";
                echo "<table border=1 width=75%>";
                echo "<tr><td bgcolor=11FF11>IS</td><td bgcolor=11FF11>CE</td><td bgcolor=11FF11>NL</td><td bgcolor=11FF11>AUT</td><td bgcolor=11FF11>NS</td><td bgcolor=11FF11>NE</td><td bgcolor=11FF11>motcle</td><td bgcolor=11FF11>Modification</td><td bgcolor=11FF11>Suppression</td></tr>";
                while ($row = mysql_fetch_array($resultat)) {
                echo "<tr>";
                echo "<td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td<td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td>";

                echo "<td><a href=livreModif.php?ref=$row[0] color=#000000> modifier</a></td><td><a href=livreSupp.php?ref=$row[0] color=#000000>supprimer</a></td>";
                echo "</tr>";
                }
                echo "</table>";

                include "disconnect.php";
                ?>
                0
                1. boutton confirmer plutot :) :

                  <?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=isset($_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";
                  ?>

                  j'a un formulaire ajout livre c'est ce que je viens de t'envoyer tte à l'heure et un autre liste livre où s'affiche une liste qui importe les données de la base avec un lieu dessus "ajouter livre" qd je Click dessus normalement sa doit ajouter le nouvel enregistrement que j'ai passé ds le formulaire " ajout livre "
                  0
                  1. renvoie le formulaire .... cette page là, çà fais 3 fois que tu la postes mais l'erreur, c'est sur l'autre page
                    0
                2. mnt quand je click sur le boutton modifier rien ne se passe, la page livreliste ne s'affiche pas
                  0
                  1. Remet le code du formulaire modifié que je regardes ça.
                    0
                3. Ouais en effet, ça venait de là
                  Le formulaire que tu envoyais ne contenais rien.

                  Donc regroupe tes deux formulaire en un seul (code ci-dessous) ET VIRE CES ISSET ils ne servent A RIEN comme tu les utilise ^^

                  <p align="center" class="Style39">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" />   
                  </label></td>   
                  </tr>   
                  <tr>   
                  <td><p align="center" class="Style45">Code Edition</p></td>   
                  <td><label></label>   
                  <select name="CODEED">   
                  
                  <option>SELECTIONNEZ 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" />   
                  </label></td>   
                  </tr>   
                  <tr>   
                  <td class="Style41"><div align="center" class="Style45">Auteur</div></td>   
                  <td><label>   
                  <input type="text" name="AUT" />   
                  </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" />   
                  </label>   
                  </div></td>   
                  </tr>   
                  <tr>   
                  <td><div align="center"><span class="Style45">Nombre Exemplaire</span> </div></td>   
                  <td><label>   
                  <input type="text" name="NE" />   
                  </label></td>   
                  </tr>   
                  <tr>   
                  <td class="Style45"><div align="center">Mot Clé </div></td>   
                  <td><input type="text" name="motcle" /></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>
                  0
                  1. <p align="center" class="Style39">Ajout Livre </p>
                    <p> </p>
                    <p> </p>
                    <form>
                    <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" />
                    </label></td>
                    </tr>
                    <tr>
                    <td><p align="center" class="Style45">Code Edition</p></td>
                    <td><label></label>
                    <select name="CODEED">

                    <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" />
                    </label></td>
                    </tr>
                    <tr>
                    <td class="Style41"><div align="center" class="Style45">Auteur</div></td>
                    <td><label>
                    <input type="text" name="AUT" />
                    </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" />
                    </label>
                    </div></td>
                    </tr>
                    <tr>
                    <td><div align="center"><span class="Style45">Nombre Exemplaire</span> </div></td>
                    <td><label>
                    <input type="text" name="NE" />
                    </label></td>
                    </tr>
                    <tr>
                    <td class="Style45"><div align="center">Mot Clé </div></td>
                    <td><input type="text" name="motcle" /></td>
                    </tr>
                    </table>
                    </form>
                    <p>  </p>
                    <p>
                    <label></label>
                    </p>
                    <p align="center" class="Style2"> </p>
                    <form method="post" action="LivreListe.php">
                    <input type="submit" name="Submit" value="Confirmer" class="Style28"/>
                    </form>
                    0
                    1. non, pas çà, le formulaire, tes $_POST viennent bien d'un formulaire ?
                      0
                      1. <?php
                        $con=mysql_connect("localhost","root","");
                        mysql_select_db("new_base",$con);

                        $ISB=isset($_POST['IS']);
                        $CODEE=isset($_GET['CE']);
                        $NOMLI=isset($_POST['NL']);
                        $AUTEU=isset($_POST['AUT']);
                        $NUMSERI=isset($_POST['NS']);
                        $NB_EXEMPLAIR=isset($_POST['NE']);
                        $MOCL=isset($_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";
                        ?>
                        0
                        1. poste ton formulaire , l'erreur est certainement dedans
                          0
                          1. je fais comme ça echo "$ISB"; apres le post ?
                            0
                            1. ben qd j'enleve le isset il affiche comme erreur "indeclared index" ds ttes les lignes où g declaré les variables sans mettre isset et qd je mets isset l'erreur ne s'affiche plus et une ligne vide s'insère, je sais que isset ne devrait pas etre utilisé comme je le fais moi mais c'est ma solution pour que le message d'erreur ne s'affiche pas!!
                              0
                              1. isset n'y est pour rien

                                tes POST et Get ne récupère aucune valeur , isset te les transforme en booleen, donc 0 a priori et du coup ta requete marche, si tu les enleves, comme ton index ne vaut rien, ta requete plante, essayes deja de recuperer tes valeurs (tu test en faisant echo de tes POST
                                0
                              2. Si tu as des erreurs de type indeclared index c'est que certain des champs de ton formulaire n'ont pas été remplis ou que tu as confondu $_GET et $_POST (oui je l'ai déjà vu). Donc a regarder de ce coté. Si des champs PEUVENT être nuls tu peut faire un truc du genre :
                                if(isset($_POST['XXXXX']))
                                {
                                     $XXXX=$_POST['XXXXX'];
                                }
                                else
                                {
                                    $XXXX=""; // ou $XXXX=0; selon les cas
                                }

                                De plus ce n'est pas une solution ce que tu utilise vu que ce que entre dans ton formulaire n'ira JAMAIS dans ta base de données, les isset ne renvoyant que des booléen je l'ai déjà dit.

                                Montre nous ce que contiens ta variable $_POST, avec un
                                print_r($_POST);
                                placé au début de ton code par exemple.
                                0
                            • 1
                            • 2