Newsletter

Résolu/Fermé
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 - 28 avril 2008 à 11:41
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 - 28 avril 2008 à 15:38
Bonjour,

voilà de nouveau un problème à résoudre

J'ai un formulaire pour s'inscrire à une newsletter. Pour le moment j'ai trouvé la solution de passer par http://www.i-services.net/membres/login.php

Cependant je me suis dit pourquoi ne pas créer simplement une BD qui gère les mails de ceux qui désirent une newsletter si ils ont coché inscritpion ça ajoute leur mail à ma BD si ils ont coché désinscription ça supprime le mail qu'ils ont saisi de ma BD

Auriez-vous des suggestions ?

Voici mon code qui marche donc ac i-services

<link href="images/style.css" rel="stylesheet" type="text/css">
<form method="get" action="https://i-services.com/membres/newsletter/newsletter.php" style="margin: 0px;">
<input type="hidden" name="uid" value="136401" />
<input type="hidden" name="sid" value="81446" />
<input type="hidden" name="liste" value="1595" />
<div style="text-align: left;" class="news_text"><a href="main.php">Accueil</a> - <a href="?adr=newsletter.php">Inscription à la newsletter</a></div><br/>
<table border="0">
<tr>
<td align="center">Pour vous inscrire à notre newsletter, remplissez ce formulaire<br/><br/></td>
</tr>
<tr>
<td align="center"><input type="text" name="email" size="30" maxlength="50" value="Adresse e-mail" onfocus="javascript:if(this.value == 'Adresse e-mail') this.value='';" onblur="javascript:if(this.value == '') this.value='Adresse e-mail';" /></td>
</tr>
<tr>
<td align="center"><input type="radio" name="action" value="add" checked="checked" />Inscription <input type="radio" name="action" value="delete" />
Désinscription</td>
</tr>
<tr>
<td align="center"><input type="submit" value="Valider"/></td>
</tr>
</table>
</form>


Merci d'avance

6 réponses

Utilisateur anonyme
28 avril 2008 à 12:20
Oui avec PHP c'est simple, mais il faut t'assurer que ton hébergeur soit php et que la fonction mail soit activée
0
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 1
28 avril 2008 à 13:31
C'est le cas alors peux-tu m'aider?
0
Utilisateur anonyme
28 avril 2008 à 13:49
Il faut tout d'abord avoir les bases PHP/MySQL :

https://openclassrooms.com/fr/courses
0
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 1
28 avril 2008 à 13:51
c'est bon ça je connais j'ai eu 40h de cours la dessus merci
0
Utilisateur anonyme
28 avril 2008 à 14:23
Parfait !

Donc, pour commencer, il faut créer une table que l'on nommera "Newsletter" qui ne comportera qu'un champ :"email"

Crééons déja le formulaire qui permettra aux utilisateurs de s'inscrire ou se désinscrire:
<form method="post" action="newsletter.php">
<input type="text" name="email" /><br />
<input type="radio" name="inscriptiondesinscription" value="inscription" /> Inscription<br />
<input type="radio" name="inscriptiondesinscription" value="desinscription" /> Inscription<br />
<input type="submit" value="Valider">


Ensuite sur newsletter.php :
<?php
mysql_connect("localhost", "user", "password"); //On remplace les information par la vraie bdd
mysql_select_db("bdd");

switch ($_POST['inscriptiondesinscription']) {

case 'inscription':
mysql_query("INSERT INTO newsletter VALUES('". $_POST['email'] ."')");
$message='Vous allez désormait recevoir notre Newsletter à l'adresse'. $_POST['email'];
break;

case 'desinscription':
mysql_query("DELETE FROM newsletter WHERE email='". $_POST['email'] ."'");
$message='Votre désinscription a bien été prise en compte';
break;

default:

}
?>
<html>
<head>
</head>
<body>
<?php echo $message; ?>
</body>
</html>

Le style est évidement à faire...

Dans une page d'administration :
<html>
<head>
</head>
<body>
<form method="post" action="envoi.php">
Titre : <input type="text" name="titre"><br />
Message : <textarea name="message"></textarea><br />
<input type="submit" value="Envoyer">
</body>
</html>


Dans envoi.php
<?php
mysql_connect("localhost", "user", "password"); //On remplace les information par la vraie bdd
mysql_select_db("bdd");

if(isset($_POST['message']))
{
$recherche = mysql_query("SELECT * FROM newsletter"); // Requête SQL
while ($newsletter = mysql_fetch_array($recherche) )
{
mail($newsletter['email'], $_POST['sujet'], nl2br($_POST['message']));
}

}
?>

0
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 1
28 avril 2008 à 14:42
A quoi sert la page d'administration et l'envoi.php?

C'est la seule chose qui me pose problème
0
Utilisateur anonyme
28 avril 2008 à 14:43
Et bien c'est celle qui va envoyer un message à toutes les adresses enregistrés dans la bdd. Sans ça, c'est pas une newsletter
0
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 1
28 avril 2008 à 14:54
Nan mais je pensais la faire par mon logiciel de messagerie en ayant exporter les adresses de ma BDD.

Par contre comment éviter qu'il y ai un doublon dans les adresses de messagerie?
0

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

Posez votre question
Utilisateur anonyme
28 avril 2008 à 15:07
<?php
mysql_connect("localhost", "user", "password"); //On remplace les information par la vraie bdd
mysql_select_db("bdd");

$compter = mysql_query("SELECT COUNT(*) AS nb FROM newsletter WHERE email='". $_POST['email'] ."'");
$doublons = mysql_fetch_array($compter);


switch ($_POST['inscriptiondesinscription']) {

case 'inscription':
if($doublons == "0"){mysql_query("INSERT INTO newsletter VALUES('". $_POST['email'] ."')");
$message='Vous allez désormait recevoir notre Newsletter à l'adresse'. $_POST['email'];
}else{$message='Vous êtes déja inscrits !';}
break;


case 'desinscription':
if($doublons == "1"){mysql_query("DELETE FROM newsletter WHERE email='". $_POST['email'] ."'");
$message='Votre désinscription a bien été prise en compte';}else{$message='Vous n'êtes pas inscrits !';}
break;

default:

}
?>
<html>
<head>
</head>
<body>
<?php echo $message; ?>
</body>
</html>
0
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 1
28 avril 2008 à 15:13
Ok c'est impeccable je te remercie tout marche parfaitement
0
Utilisateur anonyme
28 avril 2008 à 15:30
Je t'en prit
0
loute08 Messages postés 227 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 29 août 2015 1
28 avril 2008 à 15:38
Et par hasard tu ne saurais pas comment faire pour créer un simple formulaire de contact avec objet courriel pour réponse et message qui s'enverrait directement à ma boite mail?
0