1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input name="com_auteur" type="text">
<input type="submit">
</form>
<?php
if(!empty($_POST))//On verifie qu'il y ai bien un envoi de formulaire
{
$com_auteur=fct_post("com_auteur");
//echo "com_auteur=$com_auteur" ; //Et si $com_auteur contien abc"def"ghi"klm, ca va planter !
echo "com_auteur=".$com_auteur;
if (!empty($com_auteur)) //je pense que c'est mieux que -> if($com_auteur != "")
{
$sql="INSERT INTO commentaires(auteur) values ('".$_POST['com_auteur']."')";
/* Juste pour expliquer:
- commentaires(auteur) plutôt que commentaires($auteur), car tu ne dois pas donner une variable ici,
mais tu dois donner le nom du champ de ta table. Donc simplement le nom !
- values (com_auteur) ne marche pas ! Tu dois donner ici une valeur, et elle doit etre
entre deux -> ' <-, sinon elle ne prend pas. Le point (.) permete de concatener les données.
*/
//fct_execute($connexion,$sql); ici tu ne te sers pas de $connexion dans ta fonction. Ca ne sert donc a rien !
$connexion = mysql_connect("localhost", "login", "password");
mysql_select_db("nom_de_la_bdd");
fct_execute($sql);
mysql_close($connexion);
}
}
function fct_post($name)
{
if(isset($_POST[$name]))
{ $r = $_POST[$name];}
else
{ $r = "";}
return $r;
}
function fct_execute($sql)
{
mysql_query($sql) or die("<br>Echec query : <b>$sql</b><br>".mysql_error()."<br>");
return true; //Ca sert un peu a rien mais bon. Ca te renverra toujours true ou 1 puisque si c'est pas le cas,
//c'est que la fonction die() c'est executée
}
?> |