Bonjour,
À travers un formulaire, les utilisateurs peuvent s'inscrire à des neswletters thématiques (8 en tout).
D'abords, ils renseignent leur nom, email, civilité (Madame ou Monsieur), acceptation d'offres personnalisées, et enfin acceptation d'offres de sites partenaires.
Ensuite, un mail de confirmation leur est envoyé avec un lien pour activation/validation.
Le traitement côté serveur (php) et en JavaScript de ces données POSTées ne me pose pas de difficultés, et sont enregistrées dans une table 'newsletterusers'.
Structure table 'newsletterusers' :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 `userID` int(11) NOT NULL AUTO_INCREMENT, `civilite` varchar(10) NOT NULL, `nom` varchar(26) NOT NULL, `email` varchar(30) NOT NULL, `infosite` varchar(1) NOT NULL, `infopart` varchar(1) NOT NULL, `validated` int(1) NOT NULL DEFAULT '0', `validkey` varchar(255) NOT NULL, PRIMARY KEY (`userID`)
Sachant que chaque utilisateur peut choisir une ou plusieurs newsletters, je voudrais enregistrer ce tableau dynamique dans ma bdd, données nécessaires pour l’édition/envoi des newsletters choisies et pour offrir la possibilité de modifier ultérieurement les options (choix).
Qusetion 1 : Comment organiser l'enregistrement de cet tableau ? Dans la même table 'newsletteruwsers'
ou créer une nouvelle table 'optionsnewsletter' et faire des jointures ?
Question 2 : Comment y enregistrer les options choisies ?
Merci pour vos éclairages.
Voici mon essai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <?php if(isset($_POST['submit'])){ if(isset($_POST['option'])){ $option=$_POST['option']; }else { $option = Array (); } require("config-db.php"); mysql_connect($adresse,$nom,$motdepasse); mysql_select_db($database); $sql = "INSERT INTO optionsnewsletter ("; $length = count($option); $i = 1; foreach($option as $column=>$value){ $appendToSql = ','; if($i==$length){$appendToSql = '';} $col .= $column.$appendToSql; $val .= $value.$appendToSql; $i++; } $sql .= $col.") "; $sql .= " VALUES (".$val.") "; $req = mysql_query($sql) or die("Erreur SQL!<br>".$sql.'<br>'.mysql_error()); } ?> <form id="themes" action="" method="post"> <input id="actualites" type="checkbox" name="option[]" value="Actualités" <?php if($_POST && in_array('Actualités',$option)){ echo "checked";} ?>/> <input id="sante" type="checkbox" name="option[]" value="Santé et Bien-être" <?php if($_POST && in_array('Santé et Bien-être',$option)){ echo "checked";} ?>/> <input id="hightech" type="checkbox" name="option[]" value="Hight-tech" <?php if($_POST && in_array('Hight-tech',$option)){ echo "checked";} ?>/> <!-- .......--> <button id="submit" name="submit" type="submit">JE M'INSCRIS</button> </form>
Partager