Error my SQL syntax

Fermé
falltech Messages postés 13 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 4 octobre 2010 - 24 déc. 2009 à 15:17
falltech Messages postés 13 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 4 octobre 2010 - 30 déc. 2009 à 13:53
Bonjour,

je voudrais creer un formulaire d'envoi de mail pour pour que les visiteurs puissent inviter des amis à voir et lire des articles et éventuelement récupérer les donner envoyés sur ma BD.

1) J arrive a lancer des invitations mais le lien de l'article ne s'affiche pas?

2) Je reçois une erreur de connexion a ma base de donnée que voici :

Le message a bien été envoyé à mbaye.mamadou@gmail.com ...You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'to, votrenom, votremail, message) VALUES ('mbaye.mamadou@gmail.com', 'Moussa San' at line 1

De plus le code php le voici :

<?php

$to = strip_tags($_POST['to']);
$votrenom = strip_tags($_POST['votrenom']);
$votremail = strip_tags($_POST['votremail']);
$message = strip_tags($_POST['message']);

mail($to, $votrenom, $votremail, $message);
{
echo "Le message a bien été envoyé à $to ...";
}
$dd = "db_senauto3_1";
$amienvoyer = "amienvoyer";

// On vérifie qu'il y a bien eu un envoi de données.
// Pour cela, on vérifie que le champ "to" à bien été rempli

if(isset($_POST['to']));

{
// D'abord, on se connecte à MySQL
mysql_connect('MySQL5.hebergement.com', 'db_senauto3_1', 'pfwoyiJC') or die(mysql_error());
mysql_select_db($dd) or die(mysql_error());


// Enregistrement dans la base de donnees
mysql_query("INSERT INTO amienvoyer (to, votrenom, votremail, message) VALUES ('".$to."', '".$votrenom."', '".$votremail."', '".$message."')") or die(mysql_error());







}

mysql_close();


?>

Merci de m'aider SVP?
A voir également:

25 réponses

Bonjour

'to' est un mot réservé de mysql. Pour l'utiliser comme nom de table ou de champ, il faut l'entourer d'accents graves `to` (attention, pas d'apostrophes. L'accent grave est sur la même touche que le 4 en général)
Ou alors tu changes le nom du champ ;)
0
Accent grave sur le 7, pas le 4... c'est justement l'apostrophe sur le 4...
0
falltech Messages postés 13 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 4 octobre 2010
24 déc. 2009 à 16:24
Merci, je viens de modifier mon code php et la table associé comme suggérer! mais je n'arrive toujours pas à récupérer les donner sur ma bade de données.

Voici mon nouveau code :

?php

$nomdest = strip_tags($_POST['nomdest']);
$votrenom = strip_tags($_POST['votrenom']);
$votremail = strip_tags($_POST['votremail']);
$message = strip_tags($_POST['message']);

mail($nomdest, $votrenom, $votremail, $message);

{
echo "Le message a bien été envoyé à $nomdest...";
}

$dd = "db_senauto3_1";
$amienvoyer = "amienvoyer";

// On vérifie qu'il y a bien eu un envoi de données.
// Pour cela, on vérifie que le champ "to" à bien été rempli

if(isset($_POST['nomdest']));

{
// D'abord, on se connecte à MySQL
mysql_connect('MySQL5.hebergement.com', 'db_senauto3_1', 'pfwoyiJC') or die(mysql_error());
mysql_select_db($dd) or die(mysql_error());


// Enregistrement dans la base de donnees
mysql_query("INSERT INTO amienvoyer (nomdest, votrenom, votremail, message) VALUES ('', '".$nomdest."', '".$votrenom."', '".$votremail."', '".$message."')") or die(mysql_error());

}

mysql_close();

?>

et de plus je voudrais que le lien y afférents s'affiche dans le message envoyé.

Merci d'y m'aider?
0
falltech Messages postés 13 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 4 octobre 2010
24 déc. 2009 à 16:30
Voici le message d'erreur :

Le message a bien été envoyé à mbaye.mamadou@gmail.com...Column count doesn't match value count at row 1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Normal, tu mets 4 noms de champs et 5 valeurs. Comment mysql peut-il faire une correspondance entre les variables et les valeurs ?
Il n'y avait pas de valeur vide '' au début de VALUES dans ton premier script et c'était très bien
0
Ok! merci je vais modifier et tester puis je te tiendrais au courant!

Vive la solidarité numérique.
0
Merci le Père!

c réussi ! toutefois le lien vers l'article ne s'affiche pas encore dans le message envoyé au destinataire.

Pouvez-vous m y aider avec un script.

Merci encore!
0
falltech Messages postés 13 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 4 octobre 2010
25 déc. 2009 à 13:34
Salut! je viens de tester et ça marche. Toutefois le lien vers l'article envoyé ne s'affiche pas dans le message que reçois le destinataire.

Pouvez vous m'aider en m'indiquant un script et/ou la procédure à suivre?

Merci A+
0
De quel lien parles-tu ? Ton message, c'est simplement :
$message = strip_tags($_POST['message']);
S'il y a un lien dedans, la fonction strip_tags enlève la balise correspondante. Mais ça ne devrait pas être gênant, beaucoup de logiciels de mail génèrent des liens automatiquement quand une partie du texte a une allure d'URL.
0
Salut! je parles du lien de la page à envoyer au destinataire où se trouve l'article en question et no du lien vers mon site qui s'affiche dans les message envoyé :

en ce moment le destinataire reçois ceci :

www.senauto.org
merci de lire cet article

de mfallntic@yahoo.fr

et je voudrais qu'il reçois en mm temps lien vers l'article correspondant :
comme ceci : http://www.senauto.org/renault_fluence_z.e._concept.php

Merci de m'aider?
0
falltech Messages postés 13 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 4 octobre 2010
25 déc. 2009 à 18:02
Un petite explication j'ai trois pages :

1) contenant l'article en question avec un lien (envoyer cet article à un ami)
2) Quant on clic sur le lien un autre page s'affiche destinataire.html contenant le formulaire avec :
<form action="envoyer.php" method="post">
3) un autre envoyer.php qui récupère les données - l'envoie au destinataire et les stock les données envoyés dans mon BD.
0
Si tu veux que ce lien apparaisse dans ton message, mets-le dedans !
C'est à l'endroit où tu crées le texte actuel :
www.senauto.org
merci de lire cet article
de mfallntic@yahoo.fr
qu'il faut intervenir.
0
Je veux inclure ce script dans tout les pages de mon site ayant un article. Et je voudrais quant quelqu'un invite un ami a venir voir un article le lien de la page où il se retrouve s'affiche dans le message envoyé. donc forcément les liens vont changer de temps à autre.

Voici le script présentement :

<?php

$nomdest = strip_tags($_POST['nomdest']);
$votrenom = strip_tags($_POST['votrenom']);
$votremail = strip_tags($_POST['votremail']);
$message = strip_tags($_POST['message']);
$message = "www.senauto.org
" . $message;

mail($nomdest, $votrenom, $votremail, $message);

{
echo "Le message a bien été envoyé à $nomdest...";
}

$dd = "db_senauto3_1";
$amienvoyer = "amienvoyer";

// On vérifie qu'il y a bien eu un envoi de données.
// Pour cela, on vérifie que le champ "to" à bien été rempli

if(isset($_POST['nomdest']));

{
// D'abord, on se connecte à MySQL
mysql_connect('MySQL5.hebergement.com', 'db_senauto3_1', 'pfwoyiJC') or die(mysql_error());
mysql_select_db($dd) or die(mysql_error());


// Enregistrement dans la base de donnees
mysql_query("INSERT INTO amienvoyer (nomdest, votrenom, votremail, message) VALUES ('".$nomdest."', '".$votrenom."', '".$votremail."', '".$message."')") or die(mysql_error());

}

mysql_close();

?>

Je veux s'avoir comment procéder pour avoir le résultat attendu.

Merci de m'indiquer clairement le chemin à prendre?
0
Merci de m'indiquer clairement le chemin à prendre
Dès que tu auras posé clairement le problème. D'où vient le lien dont tu nous parles ? Si c'est toujours www.senauto.org , le script que tu as montré devrait marcher
0
le lien vient d'une autre page dans laquelle se trouve l'article en question exemple : http://www.senauto.org/renault_fluence_z.e._concept.php. mais quant on clic sur envoyé ç un ami un autre page s'ouvre : destinataire.php après on rempli le formulaire en question puis on clic sur envoyé et un page intituléé envoyer.php dont le contenu est représenté ci-dessus, récupère les données et les envoi au destinataire.

mais le voudrais que le lien de l'artiche à s'avoir http://www.senauto.org/renault_fluence_z.e._concept.php, puisse figurer soit dans le formulaire quant on clic sur envoyer à un ami, soit dans le messge que reçoit par le destinataire.

merci!
0
Il faut d'abord que ton lien "envoyer à un ami" (sans oublier le v de envoyer qui manque sur ta page) contienne l'adresse de ta page :
<a href="destinataire.html?article=<?php echp $_SERVER['PHP_SELF']?>">Envoyer à un ami</a>
Dans ton formulaire destinataire, tu ajoutes un champ caché pour passer cette valeur
<input type="hidden" name="article" value="<?php echo $_GET['article']; ?>" />
(au passage l'envoi à un ami devient l'envoi à une amie. C'est fait exprès ?)

Enfin, dans ton script d'envoi de message tu ajoutes le lien au message:
$message .="http://www.senauto.org".$_POST['article'];
0
merci de la reponse apportee que je vais tester bientot. Mais je veux une explication sur le contenu suivant de ton message :
Il faut d'abord que ton lien "envoyer à un ami" (sans oublier le v de envoyer qui manque sur ta page) contienne l'adresse de ta page.

Tu parle dequel v de benvoyer et qui manque sur ma page contenant l'adresse de la pagte?

Merci!
0
Ça n'est pas clair ? Dans ta page, au lieu d'écrire
envoyer à un ami
tu as écris
enoyer à un ami
Tu ne vois pas qu'il manque un V ?
0
Merci le père.

Maintenant j'ai l'url de la page correspondant où se trouve l'article en ajoutant comme suggérer ceci :
<a href="destinataire.php?article=<?php echo $_SERVER['PHP_SELF']?>">Envoyer à une amie</a>

Et j'ai mis dans la destinataire.php cet lien caché :

<input type="hidden" name="article" value="<?php echo $_GET['article']; ?>" />

et dans la page envoye.php qui traite les donnees j'ai replacer en mettant ceci :
$message = "www.senauto.org".$_POST['article'];

Ce qui reste c'est qu'en effectuant ces changement seul l'url de la page correspondant à l'article s'affiche au détriment de la message envoyé qui ne s'affiche plus.

Merci de m'aider.
0
Maintenant mon lien "envoyer à une ami" (sans oublier le v de envoyer qui manqué sur ma page) contien l'adresse de ta page comme indiquer ci dessous:

<a href="destinataire.php?article=<?php echp $_SERVER['PHP_SELF']?>">Envoyer à une amie</a>

Cependant en voulant ouvrir la page content l'article et le lien en question: http://www.senauto.org/renault_fluence_z.e._concept.php je reçois une page complètement blanche. n'a t-il pas une erreur sur le code en haut.

Merci de m'aider.
0
Cette page marchait jusqu'à présent . Qu'as-tu modfié dedans ? C'est toi qui le sais, pas moi.
Et normalement, et regardant toi-même le script et en vérifiant ce qu'il fait, tu dois bien voir où ça cloche.
0