ferméture de fenêtre sans demande de confirmation

Répondre
Sarti
le 28/10/2009 à 18:44
Sarti
Comment fermer une fenêtre du navigateur sans demande de confirmation ?
Ou alors comment rendre inactive la flèche Back de mon navigateur afin d’empêcher le retour à la page précédente ?

JavaScript ou php

Merci.
LA GLOBULE
le 28/10/2009 à 20:04
LA GLOBULE
Les 2 questions sont différentes non ?

Pour la première, ben en général un navigateur ne demande pas de confirmation de fermeture si tu n'as pas plusieurs onglets ouverts.

Pour la seconde, je ne sais pas si c'est possible, mais je ne vois pas trop le but d'éviter cela. Si c'est uniquement pour éviter qu'un code ne "se relance" en réaffichant la page, tu peux tester ce genre de cas avec une session ou un cookie ou ce que tu veux de plus sécurisé et ne pas éxecuter ce code.
Sarti
le 28/10/2009 à 20:46
Sarti
Les 2 question sont #tes mais avaient le même objectif : éviter plusieurs envois auto de l’email.

J’ai constaté qu’il n’était pas possible de bloquer cette flèche.

Puis, pour la fermeture sans avertissement, c’est faisable en JavaScript à l’aide d’un code semblable au suivant :

function FermerF()
{
var obj_win = window.open('', '_self');

obj_win.opener = window;
obj_win.focus();
opener = self; self.close();
}

Voilà si ça peut aider quelqu’un d’autre.

Merci quand même.
LA GLOBULE
le 28/10/2009 à 20:50
LA GLOBULE
éviter plusieurs envois auto de l’email


Donc on est d'accord : c'est pour éviter qu'un mail ne soit relancer.

Le problème de ta solution en javascript, c'est qu'elle ne fonctionne que si tu actives javascript.

Je serais toi, au moment ou j'envoie le mail avec PHP, je testerais si une variable de session que tu as définie existe : si oui, tu n'envoies pas le mail, si non, tu envoies le mail et tu initialises cette variable en session.
Sarti
le 31/10/2009 à 16:14
Sarti
Comment tu dis ça ?
Tester si une variable de session existe oui, mais la suite avec l'initialisation de la variable en session.
Est ce que je peux avoir un exemple précis avec un petit bout de code ?
LA GLOBULE
le 01/11/2009 à 14:21
LA GLOBULE
Ben par exemple :

<?php
session_start();

if (isset($_SESSION['mail_envoye'])) {
// on n'envoie pas le mail, on redirige le visiteur
header('location: /index.php');
exit;
}

mail('toto@toto.com', 'sujet', 'mail');
$_SESSION['mail_envoye'] = 1;
?>
Sarti
le 02/11/2009 à 00:51
Sarti
Merci LA GLOBULE, c’était génial même s’il est vrai que je n’avais pas besoin de rediriger l’usager vers index.php. J’ai plutôt fait autre chose à la place et c’est vraiment cool.
LA GLOBULE
le 02/11/2009 à 10:12
LA GLOBULE
Alors après bien sur, ce concept peut s'adapter, tout dépend de tes besoins.

Si tu veux un truc plus radical, et si tu as un espace membre, ben tu peux stocker en base le fait que le membre a déjà recu ou non le mail, et la, c'est définitif, un membre qui a déjà recu ce mail ne le recevra plus jamais (il suffit de checker cette valeur en base avant l'envoi du mail) par exemple.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours