Page 1 sur 1

insérer emails pour une newsletter

Posté : 09 févr. 2012, 18:20
par paulmarcas
Bonjour à tous,

ma toute première question sur ce forum!

Donc je souhaite créer un fichier pour soumettre une newsletter

Tout fonctionne sauf l'insertion de l'email de destination

car en règle générale ça se passe comme ça:
$to = '[email protected]';
Or étant donné que je veux créer un formulaire pour rentrer les adresses je met:
$to = (isset($_POST['champ-email']));
et là forcément ça ne marche plus! je ne sais pas comment mettre les petits apostophes pour que ça marche ou autre.

Avez vous une idée?
De plus les emails sont enregistrés sur une base de donnée, je pensais faire du copier coller mais si jamais vous avez une technique pour les ramener directement, je suis preneur!

Merci d'avance!

Paul

Re: insérer emails pour une newsletter

Posté : 09 févr. 2012, 20:21
par bostak
Bonsoir,

Je ne sais pas si c'est moi ou pas mais je ne comprend pas bien votre question, vous voulez juste insérer votre adresse mail dans votre BDD ?

Cordialement,

Re: insérer emails pour une newsletter

Posté : 09 févr. 2012, 20:37
par paulmarcas
Bonjour,

quelques précisions:
-j'ai un formulaire html que je rempli. Un des champs de ce formulaire est emails (liste d'emails auxquels on envoi la newsletter). Je copie colle les emails qui se trouvent dans une base de données.

-J'ai ensuite des écritures en php pour envoyer la dite newsletter. La newsletter fonctionne parfaitement lorsque l'email est déjà present sur ma page php :
 $to = '[email protected]';
Mais ça ne marche plus quand je rentre [email protected] dans mon champs html, qui est récupéré sur le PHP avec cette ecriture:
$to = (isset($_POST['champ-email']));
Le problème vient sûrement du fait que la forme initiale du mail avec les apostrophes avant et après n'est pas respecté. Je ne sais pas.

Si jamais vous avez une solution (voir une solution qui me permet de prendre les mails directement de ma base de données, afin d'éviter le copier coller

Merci

Re: insérer emails pour une newsletter

Posté : 09 févr. 2012, 20:51
par bostak
Si vos emails sont dans la base de donnée il suffit de faire un

Code : Tout sélectionner

SELECT email FROM votre_table
pas besoin de faire des copier coller à chaque fois.

Vous ne pouvez pas faire comme vous l'avez fait, essayer plutot ceci :

Code : Tout sélectionner

if(isset($_POST['email'])) { $to = $_POST['email'] }
Cordialement,

Re: insérer emails pour une newsletter

Posté : 09 févr. 2012, 21:13
par paulmarcas
Merci,

mais le deuxième code ne fonctionne pas. Dreamweaver m'indique une erreur de syntaxe

Re: insérer emails pour une newsletter

Posté : 09 févr. 2012, 21:18
par bostak
il manque juste un point virgule désolé,

Code : Tout sélectionner

if(isset($_POST['email'])) { $to = $_POST['email']; }

Re: insérer emails pour une newsletter

Posté : 09 févr. 2012, 21:27
par paulmarcas
effectivement ça marche bien!!
merci :)

et donc pour lié à ma base de donnée, comment je fais?

L'écriture ci-dessous est bonne?
// Paramètres persos
$host = "X"; // voir hébergeur
$user = "X"; // vide ou "root" en local
$pass = "X"; // vide en local
$bdd = "X"; // nom de la BD

// connexion
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($bdd) or die ('Erreur :'.mysql_error());


$to = 'SELECT email FROM ma_table;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );


rien de plus comme mysql_free_result($result); ou autre?

Merci d'avance

Re: insérer emails pour une newsletter

Posté : 09 févr. 2012, 21:43
par bostak
Alors pour faire propre voilà ce que vous pouvez faire :

un fichier config.php avec cela :

Code : Tout sélectionner

$db_config = array('users'=>'le nom d'utilisateur', 'pass'=>'votre mot de passe de base de donnée', 'host'=>'par exemple 127.0.0.1', 'dbName'=>'nom de votre base de donnée');
ensuite vous faite un include de ce fichier dans votre index.php

puis vous mettez ceci :

Code : Tout sélectionner

$connexion = mysql_connect($db_config['host'], $db_config ['users'], $db_config['pass']); mysql_select_db($db_config['dbName'], $connexion) or die(mysql_error());
Ensuite pour récupérer les données :

Code : Tout sélectionner

$ressource = mysql_query("SELECT email FROM votre table $result= array(); while($row=mysql_fetch_assoc($ressource)) { $result[]=$row; } return $result;
et la normalement c'est bon

Re: insérer emails pour une newsletter

Posté : 09 févr. 2012, 23:43
par paulmarcas
Merci pour le code,

les deux premiers je comprend, ça va

par contre le dernier comportes des erreurs selon dreamweaver. c'est celui qui est sensé remplacer mon ancienne variable e-mail?
Il n'y a plus de $to = $_POST['email'] ?

Merci

Re: insérer emails pour une newsletter

Posté : 12 févr. 2012, 19:17
par paulmarcas
Quelqu'un aurait une petite idée?
merci