J'ai sur ma page un systéme de newsletter et j'aimerais que lorsqu'une personne fasse une demande de désinscription, une petite fenetre s'ouvre et demande confirmation où annulation.
Voici mon code:
Code :
if($num==0)
{
$requete=mysql_db_query($sql_bdd,"insert into listes values(\"$email\",\"$liste\" )",$db_link);
$message="Merci, votre demande a bien été enregistrée.";
$titre="Inscription";
}
else
{
$requete=mysql_db_query($sql_bdd,"delete from listes where email=\"$email\" and liste=\"$liste\"",$db_link);
$message="Vous n'êtes plus inscrit dans cette liste.";
Bien qu'il n'y ait pas de question dans ton message, je suppose que tu veux savoir comment ouvrir ta fenêtre : réponse utilise Javascript à l'endroit qui va bien
J'ai vu en recherchant qu'il fallait utiliser du javascript, mais j'ai pas réussi, j'ai du mal a faire marcher le javascript au milieu de mon php :s...
Si quelqu'un peut m'aider à résoudre ce problème, merci d'avance!
arf, je sais pas si ca va marcher.
Je m'explique:
Pour s'inscrire a ma newsletter, il suffit de rentrer son adresse dans une case, et c'est la même procédure pour se desinscrire.
<input type="hidden" name="liste" value="Joutes du Téméraire">
<input type="submit" value="OK">
</form>
Qui rajoute donc une petite case où rentrer l'adresse mail.
Une fois l'adresse rentré et validé, soi elle n'est pas dans la base de donnée et alors le script la rentre soi elle y est déjà et le script la retire.
Le script est dans la page inscription.php (le code du début) que voici:
Code :
<?
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $email))
Désolé je vais peut être être désagréable, mais je n'aime pas du tout ces messages d'UP qui ne servent à rien, au lieu de poster sa, un peu de réflexion t'aurais surement permis de régler ton pb!!!
Tu ne peux pa dire à PHP d'ouvrir ta fenêtre lors de la désinscription, alors c'est javascript qui devra lancé ton script PHP dans une popup. PHP se chargera d'afficher le bon message au bon moment :
- si l'utilisateur est déja inscrit, une confirmation de la désinscirption
- si l'utilisateur n'est pas inscrit, une confirmation d'inscription.
C'est pas bien dur, suffit de réfléchir au lieu d'attendre que la solution tombe du ciel (enfin plutôt du forum en l'occurence) et en plus sa permet d'apprendre mieux et plus vite!
Désolé, mais je connais pas du tous javascript, tu peux me croire, je tente de résoudre le probléme depuis plusieurs heures, mais quand on est mauvais...
Pour preuve, les 2 pages actuellement ouvertes sur ma session:
J'ai déjà visité plusieurs pages, je pense toucher du bout du doigt la résolution du problème et je vais y arriver!!
Je suis également farouchement attaché à l'auto apprentissage, je demandais juste un peu d'aide où des pistes comme tu as pû m'en fournir, et je te remercie donc pour cette contribution!
Je vais encore de donner quelques pistes histoire que tu avances encore un peu :
Tu veux que ta fenêtre popup s'ouvre lorsque le formulaire est soumis donc, il te faudra utiliser le gestionnaire d'évènement onSubmit de la balise <form>.
Dans cet attribut onSubmit, tu veux ouvrir une fenêtre : là il te faudra utiliser le Javascript window.open() avec les bons paramètres.
Ensuite, il ne te reste plus qu'à mettre ton code PHP dans la fenêtre que tu auras ouverte avec le Javascript et normalement tu devrais approcher le résultat que tu attendais.
J'ai donc repris mon code et j'y ais intégré un confirm() afin de resoudre mon problème. Celui ci renvoie vers 2 pages php qui permettent de supprimer ou non l'adresse mail de la bdd.
Voici les codes:
INSCRIPTION:
Code :
<?
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $email))
Donc tous marche bien sauf que je ne peux plus supprimer les adresses mail...
J'ai un petit doute sur l'utilisation de:
location.href = 'desinsc.php?var=$email'; (premier code)
et
$email=$_GET['var']; (deuxiéme code)
Mais je sais pas si ça viens vraiment de là et comment y remédier :-?
Si quelqu'un peu me venir en aide, merci d'avance!
Déja, dans le script INSCRIPTION, met tout le code PHP entre <head></head> ou même entre <body></body> sa respectera déja un peu plus les règles de codage du HTML.
Ensuite si sa ne change toujours rien essaye de faire document.location.href à la place de location.href.
Et si sa change toujours rien essaye de mettre des echo (PHP) et des alert (JS) pour voir comment ton script s'exécute et ainsi mieux cerner le problème.
Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois. Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.