Requête bien executée et pourtant probleme de variables

MuSe
Invité n'ayant pas de compte PHPfrance

28 mars 2006, 11:52

Bonjour,
alors voila j'ai un formulaire
avec le champ 'titre', un menu deroulant avec la selection de la 'rubrique' (interrogé par la bdd) et un autre champ 'contenu'.

Lorsque je valide le formulaire, le tout est bien ajouté à la base de donnée, mais il m'affiche quand même un message d'erreur :
Notice: Use of undefined constant titre - assumed 'titre' in f:\easyphp1-8\www\bts\admin\rub.php on line 83

Notice: Use of undefined constant id_cat - assumed 'id_cat' in f:\easyphp1-8\www\bts\admin\rub.php on line 83

Notice: Use of undefined constant contenu - assumed 'contenu' in f:\easyphp1-8\www\bts\admin\rub.php on line 83
Ce que je comprends pas c'est que mes variables sont vérifiés au debut non ?

Voici le code :
<?php 
require "secret/connect.php"; 
require "db.inc.php"; 

if ( !isset($_POST['titre']) && !isset($_POST['id_cat']) && !isset($_POST['contenu']) ) 
{ 
	
$variable1 = mysql_query ("SELECT COUNT(*) AS total FROM rubrik");
$variable2 = mysql_fetch_array ($variable1);

$query = "SELECT id,nom FROM cat"; 
$res = mysql_query($query);  
while ( $tableau = mysql_fetch_array($res)) 
{ 

?>

<html> 
<head> 
<title>News</title> 
<div align=center>
  <h1>Administration des Rubriques</h1>
</div>

<p>
  <?
echo "<div align=center><b>";
echo $variable2['total'];
echo "</b> Rubriques enregistrées - <a href=index.php?p=rub_del>Supprimer / Editer des Rubriques</div></a>";
?>
  <script language="javascript" type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script>
  <script language="javascript" type="text/javascript">
tinyMCE.init({
	mode : "textareas"
});
</script>
  </head> 
</p>
<p>&nbsp;</p>
<form name="form" method="post" action="rub.php"> 
<table width="600" border="0" cellspacing="0" cellpadding="0" align="center"> 
<tr> 
<td width="47" height="23"><div align="center"><txt2>Titre</txt2></div></td> 
<td width="600"><input type="text" name="titre" size="50" ></td>
<td rowspan="2">
<td rowspan="2"></td>
</tr>
<tr>
  <td width="47" height="65"><div align="center"><txt2>Categorie</txt2></div></td>
  <td><select name="id_cat">
<? 
echo "<option value=\"$tableau[id]\">$tableau[nom]</option>";
 } 
 ?></select></td>
</tr> 
<tr> 
<td width="86" valign="top"><div align="center"><txt2>Contenu</txt2></div></td> 
<td width="600"> 
<textarea name="contenu"  cols="60" rows="25"></textarea></td> 
</tr> 
<tr> 
<td width="86"> </td> 
<td width="658"> 
<div align="center">
<input type="submit" name="post" value="Publier"> 
<input type="reset" name="reset" value="Reset">  
</div></td> 
</tr> 
<tr> 
<td width="658"></td> 
</tr> 
</table> 
</form> 
</body> 
</html> 



<? 
}
else
{  
mysql_query ("INSERT INTO rubrik (titre,id_cat,contenu) VALUES ( '".$_POST[titre]."','".$_POST[id_cat]."','".$_POST[contenu]."' )") or die(mysql_error()) ;


} 
?>

Eléphant du PHP | 451 Messages

28 mars 2006, 12:14

D'après le message d'erreur, il faut cherche en ligne 83 et en effet :
mysql_query ("INSERT INTO rubrik (titre,id_cat,contenu) VALUES ( '".$_POST[titre]."','".$_POST[id_cat]."','".$_POST[contenu]."' )") or die(mysql_error()) ;
les $_POST[titre], $_POST[id_cat], $_POST[contenu] sont louches :
ne faut-t-il pas mettre des ' ou des " de chaque côté de titre, id_cat et contenu ???
:)
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

28 mars 2006, 12:21

en clair, il faut écrire :
mysql_query ("INSERT INTO rubrik (titre,id_cat,contenu) VALUES ( '".$_POST['titre']."','".$_POST['id_cat']."','".$_POST['contenu']."' )") or die(mysql_error()) ;
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

MuSe
Invité n'ayant pas de compte PHPfrance

28 mars 2006, 12:29

Arf je suis nul, Merci à vous ;)