Salut tout le monde,
Je viens m'enquérir de votre aide, puisque jusqu'ici mes recherches ont été vaines. J'essaye de faire un enregistrement dans ma BDD à partir de variables passées en post :
livredor.html :
<html><body><form method="post" action="envoyer.php">
Site internet : <input type="text" name="site"><br>
Pseudo : <input type="text" name="pseudo"><br>
Courriel : <input type="text" name="courriel"><br>
Message à envoyer : <input type="text" name="message"><br>
<input type="submit" value="envoyer">
</form>
</body></html>
envoyer.php contient cette ligne qui plante :
mysql_query("INSERT INTO livredor VALUES ('',$_POST['site'],$_POST['pseudo'],$_POST['courriel'],$_POST['message'])") or die ('Erreur : '.mysql_error());
Je n'arrive pas à faire fonctionner le script en écrivant de cette manière la requête.
J'obtiens : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Si je mets à la place : mysql_query("INSERT INTO livredor VALUES('','$site','$pseudo','$courriel','$message')") or die ('Erreur : '.mysql_error());
Tout fonctionne.
Ma question est de savoir pourquoi il m'est impossible de mettre directement mes variables $_POST['variable'] dans la commande SQL. Sachant que celle-ci sont bien définies, puisqu'un simple echo $_POST['variable']; me les affiche sans problème.
Je lis partout qu'il faut écrire $variable = $_POST['variable'] , mais je n'en comprends pas l'intérêt puisque ma variable envoyée en POST est mise dans $variable sans aucune déclaration de ma part. Je suis hébergé chez Free.
Si vous avez une idée, je suis à votre écoute.
Merci d'avance de Votre aide
-->Message édité par bigmonster le 16/12/2008 16:13:48<--
-------
La vraie liberté c'est de pouvoir toute chose sur soi