Problème ajout en php
<?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
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.
-
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 !! -
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' -
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' -
je propose de remplacer le
echo "<td><a href=livreModif.php?ref=$row[0] color=#000000> modifier</a>
parecho "<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à. -
<?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' -
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.
-
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 -
c 'est quoi le probleme ? !
-
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"> -
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";
?> -
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 " -
mnt quand je click sur le boutton modifier rien ne se passe, la page livreliste ne s'affiche pas
-
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> -
<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> -
non, pas çà, le formulaire, tes $_POST viennent bien d'un formulaire ?
-
<?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";
?> -
poste ton formulaire , l'erreur est certainement dedans
-
donc où est le probleme ? !
-
je fais comme ça echo "$ISB"; apres le post ?
-
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!!
-
-
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 unprint_r($_POST);
placé au début de ton code par exemple.
-
- 1
- 2