ferméture de fenêtre sans demande de confirmation
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.
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.
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.
é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.
le 28/10/2009 à 20:52
Sarti
Tu as raison, c'est une bonne idée.
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 ?
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;
?>
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.
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.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: