Error my SQL syntax

falltech Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
falltech Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
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

le père
 
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
le père
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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
le père
 
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
Maumen
 
Ok! merci je vais modifier et tester puis je te tiendrais au courant!

Vive la solidarité numérique.
0
Maumen
 
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   Statut Membre Dernière intervention  
 
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
le père
 
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
maumen
 
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   Statut Membre Dernière intervention  
 
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
le père
 
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
falltech
 
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
le père
 
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
falltech
 
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
le père
 
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
falltech
 
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
le père
 
Ç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
falltech
 
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
falltech
 
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
le père
 
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