S'abonner :  Newsletters    Magazines
Avis sur les produits Avis sur les logiciels Avis sur les jeux Actualités A propos de 01net
1001 utilisateurs connectés

Variables Post directement par Mysql

bigmonster le 16 décembre 2008 à 16h10
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
hamster3553 le 16 décembre 2008 à 21h54
Salut !
Tu dois faire attention aux guillemets !!

Si je mets à la place : mysql_query("INSERT INTO livredor VALUES('','$site','$pseudo','$courriel','$message')") or die ('Erreur : '.mysql_error());
Tout fonctionne.
Bah t'as bien de la chance !!!
Pour moi, tes variables ici présente devraient être interprété comme tu texte...
Moi j'crirai cela comme ça:
mysql_query("INSERT INTO livredor VALUES('','".$site."','".$pseudo."','".$courriel."','".$message."')")

Et donc pour répondre a ta question, je ferais ça:


mysql_query("INSERT INTO livredor VALUES('','".$_POST['site']."','".$_POST['pseudo']."','".$_POST['courriel']."','".$_POST['message']."')")


-->Message édité par hamster3553 le 16/12/2008 22:00:54<--


PRODUITS

TÉLÉCHARGER - LOGICIELS

JEUX VIDÉOS

LOISIRS

01NET PRO

AVIS ET COMMENTAIRES

A PROPOS DE 01NET

publicité
> Nouveauté :CIEL
Auto-entrepreneur Facile
La gestion de vos outils de facturation et de devis.

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Internext - 01net.