Bonjour,
Je crée une application interne à une association prévue pour fonctionner avec Javascript.
Sur page index, je fais donc une vérification comme ceci:
Lorsque JavaScript n'est pas activé tout fonctionne correctement : Le formulaire est verrouillé et le passage à la page désignée ne s'effectue pas.
Code php : 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 <?php // Contrôle d'existence d'au moins un utilisateur en base de données $usersCount = getUsersCount()->counter; $action = $usersCount ? 'login.php': '/admin/editUser.php'; $disabled = ''; ?><!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Titre</title> <meta name="description" content="Cette application est conçue pour gérer..." /> <meta name="author" lang="fr" content="moi" /> <meta name="copyright" content="Marc Paris" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="-1" /> <link rel="stylesheet" media="all" type="text/css" href="css/structure.css" /> <link rel="stylesheet" media="screen" type="text/css" href="css/screen.css" /> <link rel="stylesheet" media="print" type="text/css" href="css/print.css" /> </head> <body class="login"> <h1>Un titre</h1> <p>Encore du texte</p> <noscript> <p class="note red"><strong> Votre navigateur bloque les scripts JavaScript. L'application ne pourra pas fonctionner. Cliquez sur <a href='http://www.enable-javascript.com/fr/' target='_blank'>activer JavaScript</a> et cliquer sur le logo du navigateur que vous utilisez pour obtenir la procédure d'activation. </strong></p> <?php $action = ''; $disabled = ' disabled'; ?> </noscript> <?php var_dump($disabled, $action); ?> <form method="post" action="<?= $action; ?>"<?= $disabled ?>> <p><label for="pseudo">Identifiant</label><br/><input type="text" id="pseudo" name="pseudo" /></p> <p><label for="pw">Mot de passe</label><br/><input type="password" id="pw" name="pw" /></p> <p><input type="checkbox" id="save" name="save" /><label for="save">Mémoriser</label></p> <p><input type="submit" name="login" value="Me connecter" /></p> <?php if (!empty($_SESSION['errors'])): ?> <p class="smallFont08"><a href="forgotPwd.php">Mot de passe perdu ?</a><br/> <a href="forgotId.php">Identifiant perdu ?</a></p> <?php endif; ?> </form> <?php if (!$usersCount): ?> <p class = 'red'><?= FIRST_USER; ?><br/>Cliquez sur <q>Me connecter</q> (sans identifiant et sans mot de passe) pour créer les utilisateurs.</p> <?php endif; ?> </body> </html>
Dans le cas contraire (Javascript activé), la partie php entre les balises noscript sont tout de même lues. Après avoir consulté plusieurs sites avec des explications plus ou moins claires, j'ai vu que cette balise n'était destinée qu'à renfermer du texte. Est-ce que je me trompe en disant qu'il n'existe pas de solutions?
Partager