Probleme ajout en php

emy -  
louloute300 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   -
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

Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
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
0
emy
 
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'
0
maka54 Messages postés 698 Date d'inscription   Statut Membre Dernière intervention   80
 
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
0
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
tu as 5 champs qui comporte le meme nom, déjà comment veux tu que çà marche ?

Ptain j'avais mm pas fait gaffe ><'
0
Neliel Messages postés 6146 Date d'inscription   Statut Contributeur Dernière intervention   1 693
 
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).
0
fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
 
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; ?>"/>
0
louloute300 Messages postés 335 Date d'inscription   Statut Membre Dernière intervention   29
 
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'])?:"";
0