Probleme ajout en php

Fermé
emy - 24 juin 2010 à 17:46
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 - 25 juin 2010 à 13:53
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 jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 690
24 juin 2010 à 17:49
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
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 mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
Modifié par maka54 le 25/06/2010 à 11:11
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 74
25 juin 2010 à 11:14
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 jeudi 9 juillet 2009 Statut Contributeur Dernière intervention 20 mars 2017 1 690
Modifié par Neliel le 25/06/2010 à 11:22
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 mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 74
Modifié par fxtaa le 25/06/2010 à 10:57
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 jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
25 juin 2010 à 13:53
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