IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Verificateur d'age et redirection


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Par défaut Verificateur d'age et redirection
    Bonjour,

    J'aimerais créer pour un de mes sites web un vérificateur d'age qui redirigerait les utilisateurs de moins de 18 ans vers google par exemple, et ensuite qui redirigerait les autres vers 2 urls différentes. Soit les moins de 30 ans vers msn.be et les plus de 30 ans vers microsoft.be.

    Avec mes rudiments de javascript j'ai déjà pondu un code qui fait la moitié du travail, mais je n'arrive pas à mes fins. Il faudrait lui inclure une fonction if dans le else qui vérifirait si l'utilisateur a moins de 30 ans sinon go sur microsoft.be.

    Voici ce que j'ai déjà

    Dans le head :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <script language="javascript">
    		function verifAge()
    		{
    			var min_age = 18;
     
    			var annee = parseInt(document.forms["formulaire_age"]["annee"].value);
    			var mois = parseInt(document.forms["formulaire_age"]["mois"].value) - 1;
    			var jour = parseInt(document.forms["formulaire_age"]["jour"].value);
     
    			var laDate = new Date((annee+min_age), mois, jour);
    			var aujourdhui = new Date;
     
    			if ( (aujourdhui.getTime() - laDate.getTime() ) < 0) {
    				alert("Vous êtes trop jeune pour rentrer sur ce site!");
    				document.location.href="http://www.google.be";
    				return false;
    			}
    			else {
    				return true;
    			}
     
    		}
    	</script>
    Et dans le body
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    <form action="http://www.heaj.be" method="get" name="formulaire_age">
    Jour : <select name="jour">
    	<option>1</option>
    	<option>2</option>
     
    	<option>3</option>
    	<option>4</option>
    	<option>5</option>
    	<option>6</option>
    	<option>7</option>
    	<option>8</option>
     
    	<option>9</option>
    	<option>10</option>
    	<option>11</option>
    	<option>12</option>
    	<option>13</option>
    	<option>14</option>
     
    	<option>15</option>
    	<option>16</option>
    	<option>17</option>
    	<option>18</option>
    	<option>19</option>
    	<option>20</option>
     
    	<option>21</option>
    	<option>22</option>
    	<option>23</option>
    	<option>24</option>
    	<option>25</option>
    	<option>26</option>
     
    	<option>27</option>
    	<option>28</option>
    	<option>29</option>
    	<option>30</option>
    	<option>31</option>
    </select>
    <br/>
    Mois : <select name="mois">
    	<option>1</option>
    	<option>2</option>
    	<option>3</option>
    	<option>4</option>
    	<option>5</option>
     
    	<option>6</option>
    	<option>7</option>
    	<option>8</option>
    	<option>9</option>
    	<option>10</option>
    	<option>11</option>
     
    	<option>12</option>
    </select>
    <br/>
    Année : <select name="annee">
    	<option>2008</option>
        <option>2007</option>
        <option>2006</option>
     
        <option>2005</option>
        <option>2004</option>
        <option>2003</option>
    	<option>2002</option>
    	<option>2001</option>
    	<option>2000</option>
     
    	<option>1999</option>
    	<option>1998</option>
    	<option>1997</option>
    	<option>1996</option>
    	<option>1995</option>
    	<option>1994</option>
     
    	<option>1993</option>
    	<option>1992</option>
    	<option>1991</option>
    	<option>1990</option>
    	<option>1989</option>
    	<option>1988</option>
     
    	<option>1987</option>
    	<option>1986</option>
    	<option>1985</option>
    	<option>1984</option>
    	<option>1983</option>
    	<option>1982</option>
     
    	<option>1981</option>
    	<option>1980</option>
    	<option>1979</option>
    	<option>1978</option>
    	<option>1977</option>
    	<option>1976</option>
     
    	<option>1975</option>
    	<option>1974</option>
    	<option>1973</option>
    	<option>1972</option>
    	<option>1971</option>
    	<option>1970</option>
     
    	<option>1969</option>
    	<option>1968</option>
    	<option>1967</option>
    	<option>1966</option>
    	<option>1965</option>
    	<option>1964</option>
     
    	<option>1963</option>
    	<option>1962</option>
    	<option>1961</option>
    	<option>1960</option>
    	<option>1959</option>
    	<option>1958</option>
     
    	<option>1957</option>
    	<option>1956</option>
    	<option>1955</option>
    	<option>1954</option>
    	<option>1953</option>
    	<option>1952</option>
     
    	<option>1951</option>
    	<option>1950</option>
    	<option>1949</option>
    	<option>1948</option>
    	<option>1947</option>
    	<option>1946</option>
     
    	<option>1945</option>
    	<option>1944</option>
    	<option>1943</option>
    	<option>1942</option>
    	<option>1941</option>
    	<option>1940</option>
     
    	<option>1939</option>
    	<option>1938</option>
    	<option>1937</option>
    	<option>1936</option>
    	<option>1935</option>
    	<option>1934</option>
     
    	<option>1933</option>
    	<option>1932</option>
    	<option>1931</option>
    	<option>1930</option>
    	<option>1929</option>
    	<option>1928</option>
     
    	<option>1927</option>
    	<option>1926</option>
    	<option>1925</option>
    	<option>1924</option>
    	<option>1923</option>
    	<option>1922</option>
     
    	<option>1921</option>
    	<option>1920</option>
    	<option>1919</option>
    	<option>1918</option>
    	<option>1917</option>
    	<option>1916</option>
     
    	<option>1915</option>
    	<option>1914</option>
    	<option>1913</option>
    	<option>1912</option>
    	<option>1911</option>
    	<option>1910</option>
     
    	<option>1909</option>
    	<option>1908</option>
    	<option>1907</option>
    	<option>1906</option>
    	<option>1905</option>
    	<option>1904</option>
     
    	<option>1903</option>
    </select>
    <br/>
    <input type="submit" name="_envoyer_date_" value="Entrer" onClick="return verifAge()">
    </form>
    Merci d'avance pour les réponses.

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    dans le else, crée une autre date et refait la comparaison...

  3. #3
    Membre Expert Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Par défaut
    Je ne vois pas trop où est ton souci.

    Déjà pour ton if, j'aurai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (aujourdhui.getTime() - laDate.getTime() < min_age) <
    et dans ton else, il te suffit de faire exactement la même chose en remplacant "min_age par 30 (que tu peux mettre dans une variable)" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if ( (aujourdhui.getTime() - laDate.getTime() ) < 30) {
    alert("Vous avez moins de 30 ans");
    document.location.href="http://www.msn.be";
    }
    else {
    alert("Vous avez plus de 30 ans");
    document.location.href="http://www.microsoft.be";
    }
    return true;

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    / 31557600000ms
    ...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Par défaut
    Citation Envoyé par Barsy Voir le message
    Je ne vois pas trop où est ton souci.
    Besoin de me reposer un peu la tête peut-être :p

    En tout cas merci de vos réponses même si le problème est pas résolu à 100%

    Voici mon code suivant vos indications
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    if ( (aujourdhui.getTime() - laDate.getTime() ) < 0) {
    				alert("Vous êtes trop jeune pour rentrer sur ce site!");
    				document.location.href="http://www.google.be";
    				return false;
    			}
    			else {
    				if ( (aujourdhui.getTime() - laDate.getTime() ) < 946080000000) {
    				alert("Vous avez moins de 30 ans");
    				document.location.href="http://www.msn.be";
    				return false;
    				}
    				else {
    				return true;
    				}
    			}
    J'ai préféré lui mettre un return true dans le else pour alléger un peu le code qui renvois de toute façon vers une url. Mais le problème n'est pas là. Donc j'ai mis < 946080000000 ce qui équivaut à 30 ans en ms. Mais lors du test les 30 ans ne sont pas respectés.

    Si je lui mets comme date 6 mai 1960 il le prends comme plus de 30 ans par contre si je lui mets 7 mai 1960 il le prends comme moins de 30 ans ce qui n'est pas logique du tout puis que ca devrait etre 28 et 29 avril 1978. Maintenant le calcul est fait sur base d'année à 365jours, une erreur se glisse peut-être là mais pour avoir une différence de 18 ans ca me parait un peu fort...

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Par défaut
    Citation Envoyé par Matthieu2000 Voir le message
    Y m'a fallut du temps à comprendre ta réponse, je pensais plus a la variable min_age qu'on additionnait déjà...=/


    Enfin en tout cas ça fonctionne maintenant Merci pour l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Strategie]Redirection après un formulaire
    Par kyser91 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 19/03/2004, 15h15
  2. redirection de trames
    Par Fry dans le forum Développement
    Réponses: 2
    Dernier message: 06/01/2004, 13h31
  3. [VB.NET]Double redirection.
    Par CammCamm dans le forum ASP.NET
    Réponses: 9
    Dernier message: 24/11/2003, 15h11
  4. [VB6] probleme de redirection d'une commande DOS
    Par WriteLN dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/06/2003, 09h36
  5. [reseaux] redirection de flux
    Par Olive1808 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 12/08/2002, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo