william_dallas Posté 28 Juillet 2009 Posté 28 Juillet 2009 Bonjour à tous, J'ai un formulaire php avec insertion des données dans la base, jusque là classique. Après j'aurais besoin de récupérer ces données pour l'envoi d'un mail, je ne peux pas les récupérer en $_POST ou $_GET car l'envoi de mail se fait depuis un OnClick. function envoi_mail() { $requete = "SELECT * FROM matable"; $result=mysql_query($requete); $donnees = mysql_fetch_array($result); $message = "<html><body>\n";$message .= "<p>'.$donnees['email'].'</p>\n";$message .= "<p>'/$donnees['contact'].'</p>\n";...$message .= "</body></hmtl>\n"; Ca ne marche pas, l'email est bien envoyé mais les données présentes dans la base ne sont pas récupérées. Qui peux m'expliquer la méthode? Merci pr votre aide
Wolf18 Posté 28 Juillet 2009 Posté 28 Juillet 2009 Bonjour, le fait de donner une nouvelle valeur à $message (4 fois de suite) ne lui donne pas toutes les valeurs à la suite, mais uniquement la dernière Avez-vous essayé de regarder le code source du message reçu ? En théorie, il ne contient que ceci : </body></hmtl>\n PS: en plus il y a une faute, c'est html et non hmtl.
william_dallas Posté 28 Juillet 2009 Auteur Posté 28 Juillet 2009 C'était un bout de mon code pour l'exemple, bien évidemment ça ne fonctionne pas. Bref, ce qui m'intéresse c'est la méthode pour récupérer les données de la base pour les inclure dans l'email, le reste c'est dans mes capacités je te remercie. Help
jcaron Posté 28 Juillet 2009 Posté 28 Juillet 2009 le fait de donner une nouvelle valeur à $message (4 fois de suite) ne lui donne pas toutes les valeurs à la suite, mais uniquement la dernière Il utilise .= qui fait une concaténation et pas = qui fait une assignation, donc là n'est pas le problème. Les noms des colonnes sont-ils corrects? La requête SQL s'éxecute bien? Fais un petit coup de print_r ou de var_dump sur $donnees pour voir ce qu'il y a dedans pour commencer... NB: évidemment comme ça, il va prendre une ligne au hasard dans la table SQL, hein... Jacques.
william_dallas Posté 28 Juillet 2009 Auteur Posté 28 Juillet 2009 Oui merci jcaron j'avais pas bien vérifier mais ça marche, comment je récupère le dernier enregistrement? WHERE id=last_insert_id()?
jcaron Posté 28 Juillet 2009 Posté 28 Juillet 2009 ORDER BY id DESC LIMIT 1 a priori. Ceci dit je ne sais pas exactement dans quel contexte tu utilises ça, mais je pense qu'il serait nettement mieux que tu saches exactement quel enregistrement tu veux. Sinon s'il y a deux personnes qui passent par là en même temps, il y en a un qui va recevoir un mail deux fois et l'autre pas du tout. Jacques.
william_dallas Posté 28 Juillet 2009 Auteur Posté 28 Juillet 2009 Ouai c'est pas con, merci jcaron résolu
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant