script formulaire + newsletter - PHP - Programmation
Marsh Posté le 27-01-2009 à 18:38:56
Salut,
c'est pas forcément difficile à réaliser, il suffit juste à l'envoi du mail de faire un INSERT dans une table que t'auras au préalable créée.
Attention cependant à avertir les utilisateurs que leur email sera stocké dans une base, et à fournir un système de désinscription ...
Marsh Posté le 28-01-2009 à 08:49:16
Un truc comme ça : ?
INSERT INTO mail_tbl VALUES('mail')
mon formulaire actuel ne gere aucune BDD, comment la déclarer?
Marsh Posté le 29-01-2009 à 14:57:35
Est ce que cela suffit pour inscrire le mail dans une table :
$db = mysql_connect('localhost', 'login', 'password');
$sql = "INSERT INTO mail_tbl(email) VALUES('$email')";
???
Marsh Posté le 29-01-2009 à 15:13:49
Pour faire simple:
Il faut que tu crée une base de donnée (généralement c'est Mysql)
Tu fais ton formulaire en html
Tu fais une page de récupération en php qui va traiter ton formulaire et envoyer les données dans la base de données.
Je suppose que tu débute et que tout ca n'est pas clair pour toi.
Je donne souvent ce lien: http://www.siteduzero.com/tutoriel [...] c-php.html
Je pense que c'est parfaitement adapté pour toi
Marsh Posté le 29-01-2009 à 18:57:32
Merci
J'ai une BDD
J'ai un formulaire en php
J'aimerai simplement y ajouter une connection à la base pour y mettre les email
Marsh Posté le 30-01-2009 à 08:44:23
Merci aspirateur, c'est gentil de mexpliquer les bases du PHP par un lien internet mais ce n'est pas ma question. Je sais ce que c'est une fonction ou une variable.
Je voudrais juste savoir comment on ajoute une entrée sur une table
Marsh Posté le 30-01-2009 à 08:57:27
Je te donne un lien qui va répondre à ta question. Si tu prends la peine d'aller voir, tu verra que tout ce que tu demande est sur ce site et en plus tu comprendra comment ca fonctionne (ce qui est quand même mieux).
Tiens voila le lien direct qui te dit comment enregistrer des données dans ta base: http://www.siteduzero.com/tutoriel [...] #ss_part_1
Maintenant si tu veux qu'on t'apporte de l'aide, y'a pas de soucis, affiche nous ton code et on te filera un coup de main. Mais essaye déjà d'avancer un peu avec les infos présentes dans le lien que je t'ai donné.
Marsh Posté le 30-01-2009 à 10:02:03
Super ce lien
J'ai donc un formulaire qui récupère l'email de cette facon :
Code :
|
et mon fichier php
Code :
|
Si j'ai compris j'ajoute ça :
Code :
|
Marsh Posté le 30-01-2009 à 10:13:22
Je vois pas la valeur de $_POST['mail'] C'est pas ca que tu veux ajouter à ta base?
Bon je suppose que ton formulaire envoi l'adresse mail, un commentaire et le tel.
Imaginons la table "mail" dans ta base de données. Elle contient les champs:"id", "email", "tel" et "commentaire".
Les champs de ton formulaire:
Code :
|
Le traitement php du formulaire serait:
Code :
|
Ca te semble clair?
Marsh Posté le 30-01-2009 à 11:29:14
super clair, je vais essayer cela
sauf que je veux juste stoquer les email, les commentaires et numtel sont juste envoyé dans le mail, pas besoin de les conserver.
Marsh Posté le 30-01-2009 à 11:45:17
ben dans ce cas, ta table "mail" doit contenir deux champs: "id" et "email".
La requete d'ajout sera alors:
mysql_query("INSERT INTO mail VALUES('', '$email')" );
Marsh Posté le 30-01-2009 à 18:13:16
a marche pô
Ya une erreur quelque part mais ou???
je met ici mon fichier complet :
Code :
|
Et l'imprim ecran de la base : http://www.weplug.com/images_1/f96 [...] 171820.jpg
Marsh Posté le 30-01-2009 à 18:50:43
Tu peux mettre le message d'erreur?
Ton mysql_connect est bon? Ton adresse de serveur est un peu étrange
Marsh Posté le 30-01-2009 à 18:59:18
pas de msg d'erreur
quand j'interroge ma bdd j'ai ca : MySQL n'a retourné aucun enregistrement. (traitement: 0.0592 sec.)
pour l'adresse c'est pourtant ça qui est donné
J'ai essayé en supprimant : tmp/mysql5.sock
mais c'est pareil
Marsh Posté le 30-01-2009 à 20:27:29
rajoute
or die(mysql_error())
à la fin de ta requete pour afficher le message d'erreur.
Marsh Posté le 31-01-2009 à 01:49:44
aspirateur a écrit : Je vois pas la valeur de $_POST['mail'] C'est pas ca que tu veux ajouter à ta base?
|
Parce que ce n'est qu'un exemple simple, je suppose que tu n'as pas pris le temps/la peine d'être plus précis, mais on ne récupère pas seulement avec un $_POST : oui $_POST['name_du_champ_de_formulaire'] contient ce qu'on cherche, mais à l'origine c'est envoyé par le navigateur, donc le visiteur derrière. Et il faut sécuriser tout ça...
voir du côté de htmlentities si besoin d'afficher, ou de addslashes si besoin, ou mieux, mysql_real_escape_strings.
Marsh Posté le 31-01-2009 à 11:51:46
Oui et teste l'existence des variables avant de lancer l'enregistrement.
Marsh Posté le 03-02-2009 à 08:07:53
bon en fait le scipt ne fonctionne pas si je le met entre
<?php et ?>
mais fonctionne si j'inclue les ligne dans le script d'envoie de l'email
Code :
|
Marsh Posté le 03-02-2009 à 08:09:39
maintenant si j'envoie 2 demandes avec le même mail, il s'inscrit deux fois (le même) dans la BDD
peut être une condition a rajouter pour éviter une duplication dans la base?
Marsh Posté le 26-01-2009 à 11:38:16
Bonjour à tous
Je cherche un script PHP qui permet de réaliser un formulaire de contact, mais avec base de données. Le but étant de récupérer les email pour l'envoi d'une newsletter.
J'en ai essayé plusieurs mais pour l'instant sans succès