Verifier l'age avant d'autoriser la visite d'un site

Résolu
sfboy Messages postés 9 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 1 décembre 2011 - 14 sept. 2010 à 18:17
sfboy Messages postés 9 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 1 décembre 2011 - 21 oct. 2010 à 17:45
Bonjour,

Je ne vient pas souvent sur ce site, sauf ces derniers jours durant lesquels j'ai fouillé partout pour trouver une réponse à mon problème... sans résultat malheureusement.
Peut-être qu'une bonne âme pourra m'aider.

En clair, je lance un site sur une boisson alcoolisée, et donc la visite doit etre restreinte au personne majeures.
Au niveau structure, j'ai donc une page index.php dans laquelle il y a un appel d'une animation flash.
Tout se passe dans cette animation. Il y a un bouton "continuer la visite" qui est visible et qui redirige vers le reste du site en cliquant dessus, mais avant de voir ce bouton, j'aimerais donc que l'utilisateur doivent introduire sa date de naissance. Si il est majeur, le bouton apparait! Sinon, un avertissement sur les ravages monstrueux de l'alcool chez les jeunes mineurs lui bouffe son écran... bon on ne sera peut-être pas aussi aggressifs, mais c'est l'idée.

J'ai testé plusieurs solutions en commencant par la plus simple:

Un champ de saisie (pour l'année) pour lequel j'ai mis un nom de variable (birthday)
un bouton pour valider la date entrée sur un autre calque avec l'action suivante:
on (release) {

if (birthday >= 1992) {gotoAndPlay(2);} //tout ce qui est supérieur à 1992 n'est pas majeur.
//on passe à l'image 2 contenant l'avertissement.
else {gotoAndPlay(3);} //si c'est inférieur à 1992, on passe à l'image 3 qui affiche le bouton "CONTINUER LA VISITE"

}


Cette solution de base ne fonctionne pas, et de plus en faisant une simple tabulation on passe trop facilement au dessus de la sécurité. Je précise que ce n'est qu'une sécurité pour cette page ci, juste un moyen disuasif, sans plus. Donc pas besoin de sécuriser tout le site, ou d'empecher la visite du reste sans avoir rempli ce champ, etc...
Le reste du site est accessible en tapant l'adresse directement dans la barre d'adresse.
Pour un exemple efficace, j'aimais assez le principe de www.bombaysapphire.com

Voilà, j'espère avoir été assez clair dans ma demande.


Merci à tous.

5 réponses

mzelleflash Messages postés 48 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 1 novembre 2011
15 sept. 2010 à 12:33
Salut sfboy,
J'ai fait quelques tests pour parvenir à ce dont tu as besoin et voilà ce que je te propose:
un champ de texte de saisie pour entrer sa date d'anniversaire, et si elle est supérieure à 1992, on peut cliquer sur le bouton continuer à côté.

Sur la scène on a donc un champ de texte de saisie qui a pour nom d'occurence "birthday_inst" et pour nom de variable "birthday" et un bouton continuer avec pour nom d'occurrence "btValidation".

stop();

btValidation._alpha=25;

//une fois activé, le bouton continuer emmènera à l'image 3
btValidation.onPress= function () {
gotoAndStop(3);
};
//on désactive le bouton continuer tant que le champ n'est pas renseigné
btValidation.enabled= false;

//on écoute les modifications du champ de texte et on agit en fonction du texte saisi
birthday_inst.onChanged= function (){
if (birthday>=1992){
btValidation.enabled=true;
btValidation._alpha=100;
} else {
btValidation.enabled=false;
btValidation._alpha=25;
}
if(birthday==""){
btValidation.enabled=false;
btValidation._alpha=25;
}
};


Tout cela se passe sur l'image 1 de la timeline et emmène à l'image 3 lorsque c'est validé, l'image 2 doit être vide et comporter le code stop();
-->Cela évite de déjouer la "sécurité".

Voilà, j'espère que cela pourra t'aider ;-)

M'zelle Flash
3
sfboy Messages postés 9 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 1 décembre 2011
21 oct. 2010 à 17:45
Bonjour à tous,

Je reviens ici car j'ai trouvé et développé un ptit tuto pour arriver à mes fins.

Ma solution permet à l'utilisateur d'entrer son âge, et après vérification des dates avec de un simple code AS (au moins 18 ans) il peut continuer sa visite vers une autre page.

ici le tutoriel :
http://www.flashkod.com/tutoriaux/VERIFICATION-AGE-VISITEUR_1156.aspx

ici, mon résultat:

Attention il n'y a que la première page du site (index.php, .htm, .asp, ...etc) qui est protégée, mais j'ai ajouté une ligne dans le code AS qui permet de récupérer les variables flash avec une fonction php. Pour protéger le site entier il faut alors ajouter une vérification php de ces variables au début du code html ou php de vos autres pages.

Merci à tous pour votre aide...
3
sfboy Messages postés 9 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 1 décembre 2011
15 sept. 2010 à 18:44
Woaw... j'en demandais pas tant! et puis j'avais peur de pas avoir été super clair dans ma demande.
Et bien ça fonctionne nickel, et en plus ta solution m'a mis sur la voie pour un autre soucis de menu sur lequel je bosse. Que dire de plus à part merci, merci, merci!

Je vais sans doute trainer mes ptits doigts un peu plus souvent par ici.
Il me reste 15 jours pour finir le site, je posterai les liens de ce que j'ai pu faire grâce à vous.

A bientôt M'zelle Flash.
0
sfboy Messages postés 9 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 1 décembre 2011
29 sept. 2010 à 01:53
Hello,

Je reviens après avoir testé la solution proposée par M'zelle Flash.
Malaheureusement je bloque.
J'ai bien compris le principe enable=true ou false et l'ai d'ailleurs utilisée facilement et avec succès pour un menu du site.
Le problème est le suivant, le bouton "btValidation" s'active pour n'importe quelle valeur entrée dans le champs texte. Comme si la fonction if "(birthday>=1992)" n'était pas prise en compte...?
J'ai tout essayé, mélangé, changé les noms d'occurence et de variable, mais rien n'y fait.

Pour info, dans mon scénario, j'ai un premier calque avec mon code AS sur 2 images:
[b]1/ le code fourni par M'zelle Flash
2/ stop ();/b

et en dessous un calque avec 3 images:
[b]1/ le champs de texte de saisie (nom d'occurence: birthday_inst ; variable: birthday)
+ un bouton (nom d'occurence: btValidation)
2/ une image-clé vide
3/ une animation me confirmant que j'aie bien appuyé sur le bouton/b

Help...?

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sfboy Messages postés 9 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 1 décembre 2011
29 sept. 2010 à 02:46
(re)Hello,

Bon après avoir pris quelques infos, il se trouve que dans un futur proche je serai de toutes façons obligé d'installer une sécurité plus ... "sécurisée" de l'age de l'utilisateur.

C'est à dire qu'il faudra que je protège l'entièreté du site de l'accès aux personnes mineures... l'age légal étant différent d'un pays à l'autre, ca se corse aussi.
Il faudrait donc un calcul de l'age exact suivant le jour, le mois et l'année, et le pays de l'utilisateur, mais j'aimerais éviter les scripts php ou meme les fichiers htaccess afin de garder le côté graphique du flash... ou alors peut-être avec une communication entre mon fichier flash et une base php??

Enfin pour etre clair il me faudrait des pistes pour créer un systeme comme celui sur ce site :
... avec un cookie (j'aime pas mais bon...) qui retiendrais les infos entrées.
Je ne trouve absolument rien sur ce sujet, nulle part sur le web, donc je suis preneur de la moindre petite info.

C'est pas gagné donc en attendant, si je peux déjà mettre une sécurité sur la première page avec un script simple c'est toujours ca.

Merci beaucoup...
0
Rejoignez-nous