PHP abonnement et désabonnement merci - PHP - Programmation
Marsh Posté le 05-06-2013 à 12:44:36
salut
ce que tu appelles "abonnement" correspond juste à l'ajout d'un email dans la table ...
et désabonnement c'est son retrait.
pour faire simple (premier niveau de réflexion) tu peux partir sur un formulaire HTML avec 3 items :
- un champ type texte où le visiteur saisit son email
- un champ type "radio" avec pour valeurs "abonnement" ou "désabonnement"
- un bouton type "submit"
dans un premier temps, sans parler sécurité, il te reste juste :
- à récupérer l'email envoyé
- à récupérer l'action (abonnement ou désabonnement) et faire et exécuter les requêtes qui vont avec.
Ainsi ta table sera mise à jour.
niveau 2 de la réflexion : un peu de sécurité. Vérifie qu'on entre des emails correctement écrits (avec l'arobase, etc.) PAS en javascript bien sûr.
Et côté traitement, tu ne peux traiter que l'abonnement ou le désabonnement.
niveau 3 de la réflexion : que se passe-t-il si j'entre à la main plein d'emails que j'invente ? ils seront tous inscrits si ton système fonctionne bien. Et tu auras vite une table remplie de pourriture.
Pareil, je peux désabonner n'importe qui il me suffit de connaitre son email. C'est pas très sympa.
Donc prévoir un code de sécurité pour vérifier l'email.
Mais ...commençons donc par le niveau 1
fais quelques essais, et si tu as des soucis, poste tes essais avec les balises [code ] pour qu'on puisse t'aider.
Marsh Posté le 07-06-2013 à 00:38:29
Bonsoir
voila j'ai fait ce que vous m'avez demander
émail est bien enregistrer dans la base de donne mais
mon problème comment le supprimer.
veuillez svp m'indiquer la requête nécessaire
et son emplacement dans le code car je veux supprimer l'émail
en cas si il est dans la base de donne.
merci .
<?php
// fonction de connection à la BD
include('fonctions.php');
// on se connecte à la BD
$connection = connectMaBase();
?>
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title></title>
<LINK rel="stylesheet" href="css/style.css"/ >
</head>
<body>
<div class="conetnu">
<section>
<article>
<?php
if( isset($_POST['valider']) )
{
$email = $_POST['email'];
//On se connecte
$connection = connectMaBase();
//la commande sql d'insertion
$sql = 'INSERT INTO email VALUES(null,"'.$email.'" )';
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
echo 'vous êtes inscrit merci';
header('refresh:7;url=index.php');
// on ferme la connexion}
mysql_close( $connection );
}
?>
<h1>contact</h1>
<!-- formulaire d'inscription -->
<form name="formulaire" method="post" action="contact.php">
<strong>Email</strong><br/>
<input type="text" name="email" value="" maxlength="30"><br/><br/>
<br/><br/>
<input type="submit" name="valider" value="envoyer">
</form>
</div>
</article>
</section>
</div> <!-- body -->
</body>
</html>
Marsh Posté le 13-06-2013 à 22:47:45
bon, c'est loin d'être optimisé et sécurisé, mais ya un début.
maintenant pour le désabonnement c'est pareil ... fait l'email, puis une requête DELETE.
plutôt que de faire un 2è formulaire distinct, je te propose un champ radio pour s'abonner (par défaut) ou de désabonner.
<h1>contact</h1>
<!-- formulaire d'inscription -->
<form name="formulaire" method="post" action="contact.php">
<strong>Email</strong><br/>
<label><input type="text" name="email" value="" maxlength="30"></label><br/><br/>
<strong>Action</strong><br/>
<label><input type="radio" name="action" value="abonner"> S'abonner</label>
<label><input type="radio" name="action" value="desabonner"> Se désabonner</label>
<br/><br/>
<input type="submit" name="valider" value="envoyer">
</form>
et dans ton php :
if( isset($_POST['valider']) )
{
$email = $_POST['email'];
$action = $_POST['action'];
if ($action == 'abonner')
{
//la commande sql d'insertion
$sql = 'INSERT INTO email VALUES(null,"'.$email.'" )';
}
else // désabonner
{
//la commande sql d'insertion
$sql = sprintf("DELETE FROM email WHERE nom_champ='%s';", $email);
}
Si ce n'est que je ne connais pas le nom du champ de ta table.
Bon allez maintenant tu me sécurises tout ça
Marsh Posté le 05-06-2013 à 03:51:16
Bonjour
nul en php je demande SVP un petit code php:
je veux créer une page abonnement et désabonnement
le visiteur s'abonne en entrant son adresse émail
et se désabonne en entrant son adresse émail
ma base de donne est : typo
ma table : émail
merci et a bientôt