8722 sujets

Développement web côté serveur, CMS

bonjour à tous,
Je voudrais créer un formulaire qui permettraient aux utilisateurs de
1. Demander à recevoir ma lettre d'info
2. Demander à ne plus recevoir la lettre d'info

Juste un formulaire avec
1. adresse e-mail
2. Objet (au choix)

et que l'utilisateur sache si son message (enfin il n'y a pas besoin de message...) est envoyé ou s'il y a une erreur.

Est-il utile de mettre une captcha et en ce cas comment faire ?

Je pense que je dois absolument utiliser html& php
Merci.
Bonsoir,
Heu... Personne pour un coup de main... Franchement, je suis pas habituée à demander de l'aide, mais là... Faut que je termine les améliorations sur mon site rapidement, j'ai plus le temps plus la force non plus de me replonger dans les tuttos... SVP. Merci
Salut,

Voilà un exemple simple pour ce que tu veux faire :

Il te faut un fichier nommé "email_list.txt" dans le même dossier que le script.


<?php
header('Content-Type: text/html; charset=utf-8');
header('Content-Language: fr');

if (!empty($_POST['email']) && !empty($_POST['object']))
{
	$email = strtolower(trim($_POST['email']));
	$file = 'email_list.txt';

	if (filter_var($email, FILTER_VALIDATE_EMAIL))
	{
		$data = $_POST['email']."\n";

		if ($_POST['object'] == 'subscribe')
		{
			$fh = fopen($file, 'a');
			if ($fh)
			{
				fwrite($fh, $data);
				fclose($fh);
				$message = 'Vous êtes maintenant inscrit à notre newsletter.';
			}

		} else {

			$content = file_get_contents($file);
			$content = str_replace($data, '', $content);
			file_put_contents($file, $content);
			$message = 'Vous êtes maintenant désinscrit de notre newsletter.';
		}

	}	else {
		$message = 'Cette adresse email est invalide.';
	}
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>

	<title>Newsletter</title>

	<meta charset=UTF-8"/>
	
</head>

<body>

			<form id="frm_newsletter" method="post" action="index.php">

				<fieldset>
					<legend>Inscription à notre newsletter</legend>

					<?php if (!empty($message)): ?>
					<p>
						<?php echo $message; ?>
					</p>
					<?php endif; ?>

					<div>
						<label for="email">Votre adresse email</label>
						<input id="email" name="email" type="text" value="" />
					</div>
					
					<div>
						<label for="object">Objet</label>
						<select id="object" name="object">
							<option value="subscribe">Inscription</option>
							<option value="unsubscribe">Désinscription</option>
						</select>
					</div>

					<div>						
						<input class="button large" type="submit" name="subscribe_submit" value="Envoyer" />
					</div>

				</fieldset>

			</form>

</body> 
</html>

Modifié par jb_gfx (28 Jul 2011 - 20:23)
Salutation @tous

jb_gfx a écrit :
Il te faut un fichier nommé "email_list.txt" dans le même dossier que le script.


Dans le même dossier ? Il faut vraiment qu'il soit dans le même dossier ?

Sinon ça ne fonctionne pas : Smiley lol
jb_gfx : je fais juste te taquiner Smiley biggrin

..
zardoz a écrit :

Dans le même dossier ? Il faut vraiment qu'il soit dans le même dossier ?


Oui. C'est pour que l'exemple fonctionne.

Dans la pratique il faudrait que le fichier soit en dehors du dossier web (et il faudrait aussi un peu plus de tests sur les éventuelles erreurs). Mais mon but était de fournir une solution clé en main et facile à mettre en œuvre.
Modifié par jb_gfx (28 Jul 2011 - 22:36)
Je comprend très bien jb_gfx.
Je voulais te prendre à défaut, sinon que je sais que ça và être difficile Smiley biggrin

D'ailleurs nous savons tous qu'en apprentissage on nous ramène toujours au même niveau d'arborescence, sur les tutoriels en particulier.

Seulement je crois sincèrement que nous ne devrions pas agir ainsi. À cause des chemins, qui à mon avis devraient être compris dès les bases en programmation ou en instructions.

Je crois ces connaissances essentielles dès les départs. Même pour les nouveaux et les nouvelles, en programmations.

C'est mon avis Smiley cligne

..
Modifié par zardoz (28 Jul 2011 - 23:31)